【发布时间】:2012-03-15 04:53:48
【问题描述】:
谁能告诉我我的代码有什么问题。当我尝试使用该功能时,我得到:
Fatal error: Call to a member function setFetchMode() on a non-object in ...
使用:
if (!$IDq) { print_r($dbh->errorInfo()); }
给我: 文件已加密或不是数据库
我多年来一直在搞乱它,但似乎无法让它发挥作用。
function user_registered($user_id){
$dbh = new PDO("sqlite:datastore/userids.db");
$IDq = $dbh->query("SELECT * FROM users_identify WHERE identifier = '$user_id'");
$IDq->setFetchMode(PDO::FETCH_ASSOC);
$IDf = $IDq->fetch();
if($IDf['id']){
return $IDf['id'];
}else{
return 0;
}
}
谢谢。
编辑:啊,谢谢你的帮助。我发现了问题,当我需要一个 sqlite 3 数据库时,我使用的是一个 sqlite 2 数据库。
【问题讨论】:
-
在你的
query之后添加这个:if (!$IDq) { print_r($dbh->errorInfo()); } -
@calummc - 最好添加您自己的答案,而不是编辑您的问题以添加它。您可以为自己打勾,但不要忘记为您认为有帮助的任何人 +1。
-
是的,我正打算这样做,但 SO 说了一些关于无法以少于 100 次代表回答您自己的问题。 7 小时内。