我在php中使用pdo,我得到的错误是:
Product sub variant: Product: (
Fatal error: Call to a member function prepare() on a non-object
我在一个类中有这段代码,我在php中调用它,该类包含在调用它的页面中。
function get_variantname($variant_id)
{
$query = $db->prepare("select parent_attribute_label from tbl_parent_attribute where parent_attribute_id = :variant_id");
$query->bindParam(":variant_id", $variant_id);
$query->execute();
while($row = $query->fetch(PDO::FETCH_OBJ))
{
return $row->parent_attribute_label;
}
}
答案 0 :(得分:0)
你还没有将$ db传递给函数,所以它不知道$ db-> prepare()应该做什么。如果您希望全局访问$ db类,我建议使用singleton class。您还可以将$ db声明为global variable。
答案 1 :(得分:0)
您试图错误地访问$db
变量,该变量看起来像global
。添加
global $db;
在你的功能开始时。
错误消息告诉您正在调用prepare
非对象的内容。但是我们都知道它是一个对象,因为你将它设置为某个值(它不可能是例如一个字符串)。由于某种原因,只留下不具有您在函数内设置的值的可能性。这引出了我们的答案。