我有以下代码:PHP函数问题中PDO查询
function user_name($id) {
$eqpt_name1 = $this->sql->query("SELECT `f_val` FROM `profiles` WHERE `u_id` = $id AND `f_id` = 1");
$eqpt_name1_2 = $eqpt_name1->fetch();
$name1 = $eqpt_name1_2['f_val'];
$eqpt_name2 = $this->sql->query("SELECT `f_val` FROM `profiles` WHERE `u_id` = $id AND `f_id` = 2");
$eqpt_name2_2 = $eqpt_name2->fetch();
$name2 = $eqpt_name2_2['f_val'];
$name3 = $name1 . " " . $name2;
return $name3;
}
它的作用是把提供的用户ID($ ID),并获取第一个($名1)和去年($名2)名称然后输出它。
我通过执行以下操作
$username = user_name($_SESSION['user_id']);
$_SESSION['user_id']
是1
,例如调用它。
当我手动将代码放入PHP文件时,它工作正常。但是,当我用一个函数这样我就可以在全球使用它在整个网站,所以我不必在每个网页上长的查询代码,Apache的给了我这个错误:
PHP Fatal error: Call to a member function query() on a non-object
我没写过一个函数,它有一个查询之前,不知道我做错了什么。
你试过了什么?什么都没有奏效?你已经做了什么研究来解决这个问题?你是否在互联网上搜索了这条错误消息?你发现了什么?什么导致了他人的错误?什么解决了他们的问题 – Charles
我确实环顾四周。所有其他的例子都使用了准备好的语句,我还没有掌握它。没有这个功能,并且在一个页面中对这组代码进行硬编码就可以正常工作。不知道为什么查询在函数中无法正常工作。 –
这不是您的查询或准备好的语句错误。您是否尝试寻找导致“调用成员函数...在非对象”错误的原因? – Charles