/ / PDO Fataler Fehler: Aufruf einer Memberfunktion fetchColumn () auf einem Nichtobjekt - php, pdo

PDO Fataler Fehler: Aufruf einer Memberfunktion fetchColumn () auf einem Nichtobjekt - php, pdo

Der Versuch, nach PDO zu gelangen, kann nicht herausfinden, was damit nicht stimmt

$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();

Antworten:

1 für die Antwort № 1

PDOStatement::execute() gibt entweder zurück TRUE oder FALSE (sehen Hier), damit $res wird auf einen booleschen Wert gesetzt und dann versucht man, eine Methode dafür aufzurufen. Versuchen Sie es stattdessen:

$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();

0 für die Antwort № 2
$q->execute(...)

Gibt nur einen booleschen Wert zurück. Richtige Weg:

$q = $dbh->prepare($sql);

if ($q->execute($repo, $list, $email) == TRUE) {
$v = $q->fetchColumn();
} else {
//error
}