PDO问题-在非对象上调用成员函数query()



我正试图切换到PDO,但遇到了一些问题。。

每当我点击foreach循环时,我都会收到一个错误,说"在非对象上调用成员函数query()"(我要大胆猜测一下,因为某种原因$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
}

提前谢谢,如果需要的话,我很乐意提供更多必要的信息。

$dbc不在您的variabel范围内。这是php变量范围的一部分,与pdo无关。

http://www.php.net/manual/en/language.variables.scope.php

最新更新