Php PDO致命错误:对非对象调用成员函数fetchColumn()
试图转到PDO无法找出这有什么问题Php PDO致命错误:对非对象调用成员函数fetchColumn(),php,pdo,Php,Pdo,试图转到PDO无法找出这有什么问题 $dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass); $sql = "SELECT COUNT(*) FROM users WHERE repo=? AND list=? AND email=?"; $q=$dbh->prepare($sql); $res = $q->execute(array($repo, $list, $email)); $v = $r
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$sql = "SELECT COUNT(*) FROM users WHERE repo=? AND list=? AND email=?";
$q=$dbh->prepare($sql);
$res = $q->execute(array($repo, $list, $email));
$v = $res->fetchColumn();
仅返回布尔值。
正确的方法:
$q = $dbh->prepare($sql);
if ($q->execute($repo, $list, $email) == TRUE) {
$v = $q->fetchColumn();
} else {
//error
}
仅返回布尔值。
正确的方法:
$q = $dbh->prepare($sql);
if ($q->execute($repo, $list, $email) == TRUE) {
$v = $q->fetchColumn();
} else {
//error
}
PDOStatement::execute()
返回TRUE
或FALSE
(请参阅),因此将$res
设置为布尔值,然后尝试对其调用方法。请尝试以下方法:
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$sql = "SELECT COUNT(*) FROM users WHERE repo=? AND list=? AND email=?";
$q=$dbh->prepare($sql);
if (($res = $q->execute(array($repo, $list, $email))) === FALSE) {
echo 'Query failed!';
exit;
}
$v = $q->fetchColumn();
PDOStatement::execute()
返回TRUE
或FALSE
(请参阅),因此将$res
设置为布尔值,然后尝试对其调用方法。请尝试以下方法:
$dbh = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbuser, $dbpass);
$sql = "SELECT COUNT(*) FROM users WHERE repo=? AND list=? AND email=?";
$q=$dbh->prepare($sql);
if (($res = $q->execute(array($repo, $list, $email))) === FALSE) {
echo 'Query failed!';
exit;
}
$v = $q->fetchColumn();
可能重复的bool PDOStatement::execute([array$input_parameters])它不返回混合值,只返回布尔值。(试图对此做一个说明)因此$dbh是一个数据库对象$q是一个语句对象,一旦执行,结果集就会挂起?bool PDOStatement::execute([array$input_parameters])它不返回混合值,只返回布尔值(尝试对此进行说明),因此$dbh是一个数据库对象$q是一个语句对象,一旦执行,结果集就会挂起?