Hier ist mein Code:Fatal error: Call auf eine Elementfunktion holen() auf boolean in {path}
$money = $db_con
->prepare(" SELECT SUM(asker_amount) asker, SUM(responder_amount) responder
FROM money WHERE post_id = ? AND author_id = ? AND paid IS NULL")
->execute(array($ques_id, $author_ques_id))
->fetch(PDO::FETCH_ASSOC);
$asker_amount = $money['asker'];
$responder_amount = $money['responder'];
Es wird nicht ausgeführt und wirft diesen Fehler:
Fatal error: Call to a member function fetch() on boolean in {file path} on line 5 (
->fetch(...
)
Ok Was ist los mit dir? Und wie kann ich es reparieren?
Hinweis: Diese Abfrage funktioniert auch, ich habe es in phpmyadmin getestet.
Die 'execute' Funktion gibt einen booleschen Wert zurück: http://php.net/manual/en/pdostatement.execute.php –
@pgmann Meinst du, ich muss' $ money' holen, anstatt es zu 'execute' zu verketten() '? – stack
Offensichtlich funktioniert es hier NICHT gut, da ein Teil dieses Prozesses fehlschlägt und einen booleschen False zurückgibt. Im Allgemeinen, niemals EVER Kette DB so anruft. Es wird angenommen, dass nichts jemals scheitern wird, was genau die falsche Einstellung ist. Abfragen können fehlschlagen, selbst wenn die SQL-Syntax zu 100% perfekt ist. ** Nimm IMMER ** Fehler an, überprüfe auf Fehler (in jedem Stadium) und behandle den Erfolg als angenehme Überraschung. –