Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可恢复的致命错误:类PDOStatement的对象无法转换为字符串PHP错误消息_Php_Oop_Mysqli - Fatal编程技术网

可恢复的致命错误:类PDOStatement的对象无法转换为字符串PHP错误消息

可恢复的致命错误:类PDOStatement的对象无法转换为字符串PHP错误消息,php,oop,mysqli,Php,Oop,Mysqli,我正在使用PHP OOP和MySQL创建一个在线商店。在这个项目中,我创建了一个页面,商店管理员可以在其中查看商店的所有类别,并按类别查看产品的数量 因此,为了制作这一页,我将其编码为: $catSet = new Products(); $catShow = $catSet->GetCatp(0,10); foreach($catShow as $cat){ $nums = $catSet->NumCatProduct($cat['cat_title']); ec

我正在使用PHP OOP和MySQL创建一个在线商店。在这个项目中,我创建了一个页面,商店管理员可以在其中查看商店的所有类别,并按类别查看产品的数量

因此,为了制作这一页,我将其编码为:

$catSet = new Products();
$catShow = $catSet->GetCatp(0,10);
foreach($catShow as $cat){ 
    $nums = $catSet->NumCatProduct($cat['cat_title']);
    echo "
        <tr>
        <td>".$cat['table_id']."</td>
        <td>".$cat['cat_title']." ($nums)</td>
        <td><a href='categorydelete.php?cat_id=".$cat['cat_id']."'><span class='label label-danger'>REMOVE</span></a></td>
        </tr>";
}
但问题是,每当我运行此命令时,都会出现以下错误:

可恢复的致命错误:类PDO语句的对象无法在Product.class.php的第行等中转换为字符串

其基本目标是:

$cat->bindParam(1,$cat);
所以如果你对如何解决这个问题有任何想法,请告诉我。。我真的很感激


提前谢谢

将PDO语句分配给
$cat
(第1行),然后尝试将其用作查询的字符串参数(第2行)。要解决此问题,只需使用两个不同的变量:

public function NumCatProduct($cat)
{
    $res = $this->db->prepare("SELECT * FROM products WHERE product_category = ?");
    $res->bindParam(1,$cat);
    $res->execute();
    $row_cat = $res->rowCount();
    return $row_cat;
}
public function NumCatProduct($cat)
{
    $res = $this->db->prepare("SELECT * FROM products WHERE product_category = ?");
    $res->bindParam(1,$cat);
    $res->execute();
    $row_cat = $res->rowCount();
    return $row_cat;
}