PHP-未捕获的错误:在布尔值上调用成员函数*()

时间:2018-09-04 20:03:15

标签: php

我在PHP中有一个sql请求,此查询的结果放在类变量中 但是,当该请求未返回任何结果时,我想在变量中返回一个空值,暂时返回一个错误的布尔值。

你能帮我吗? 谢谢

<?php 
class test
{
    const table_name = 'test_table';

    protected $Id;
    protected $Nom;
  
    public static function byId($id)
    {
        $values = array
        (
            ':Id' => $id,
        );
        
        $sql = 'SELECT *FROM '.self::table_name.' WHERE Id=:Id';
    
        $QueryPrep =  self::getInstance()->prepare($sql);
        if(empty($param))
        {
             $resultQuery = $QueryPrep->execute();
        }
	else
	{
	    $resultQuery = $QueryPrep->execute($values);
	}
    
        if ($resultQuery !=false)
        {
            $res = $resultQuery->fetchObject(__CLASS__);
            return $res; 
        }
        else
        {
            return false;
        }
    } 

    public function get_Id()
    {
        return $this->Id;
    } 
}

$cmd_device_id = null;

$cmdDeviceObject = new test();
$cmd_device =  $cmdDeviceObject->byId(999);
$cmd_device_id = $cmd_device->get_Id();
echo "cmd_device_id = ".var_dump($cmd_device_id);

?>

1 个答案:

答案 0 :(得分:0)

如果$ res没有结果,则返回 null

 if ($resultQuery !=false)
    {
        $res = $resultQuery->fetchObject(__CLASS__);
        return $res ?? null; 
    }