我试图切换到PDO,但我遇到了麻烦..
我收到错误说#34;在非对象上调用成员函数query()"每当我点击foreach循环时(我会猜测并且因为某种原因,$ dbc会出现空白?)。
我知道很多这样的问题都被问过,而且我花了很长时间才通过答案,但我仍然遇到麻烦。
我对这一切都很陌生,所以我可能会犯一些明显的错误,但任何帮助都会受到赞赏。
现在固定:我只是忘了 - 实际上打电话 - 我布置的功能。下面的代码现在有效。
$DBNAME = 'myDatabase';
$HOST = 'myHost';
$USER = 'myUser';
$PASS = 'myPassword';
function dbconnect($DBNAME, $HOST, $USER, $PASS) {
try {
global $dbc;
$dbc = new PDO("mysql:dbname=$DBNAME;host=$HOST", $USER, $PASS);
$dbc->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch (Exception $e) {
echo $e->getMessage();
}
}
dbconnect($DBNAME, $HOST, $USER, $PASS);
$tQuery =
'select
adm.TalentCode,
adm.Paid,
adm.Comp,
tl.CaVO,
tl.TxVO,
tl.LaVO,
tnd.FirstName,
tnd.LastName,
tp.Thumbnail
from
AdminTalentData as adm
inner join TalentLocale as tl using(TalentCode)
inner join TalentNameData as tnd using(TalentCode)
inner join TalentPhoto as tp using(TalentCode)
where adm.Paid = 0 || adm.Comp = 0';
foreach($dbc->query($tQuery) as $r)
{
//create a table from the results
}
提前致谢,如果需要,我很乐意提供更多必要的信息。
答案 0 :(得分:0)
$ dbc不在您的可变范围内。这是php变量范围的一部分而不是pdo相关。