Hier ist ein Ausschnitt aus meinem Code:PDO-Fehlermeldung?
$qry = '
INSERT INTO non-existant-table (id, score)
SELECT id, 40
FROM another-non-existant-table
WHERE description LIKE "%:search_string%"
AND available = "yes"
ON DUPLICATE KEY UPDATE score = score + 40
';
$sth = $this->pdo->prepare($qry);
$sth->execute($data);
print_r($this->pdo->errorInfo());
Das bin ich einen Fehler geben sollte, weil die Tabellen existieren nicht einmal. Ich jedoch erhalten, ist das alles:
Array ([0] => 00000)
Wie kann ich eine bessere Beschreibung des Fehlers erhalten, damit ich das Problem debuggen kann?
Drucken Sie den Fehler nach der Vorbereitung, aber vor dem Ausführen – thetaiko
Der Fehler sieht ziemlich klar für mich,: search_string wird mit so etwas wie ‚foobar‘ ersetzt bekommen (einschließlich der Anführungszeichen) ein, so dass Ihr finally sql statement würde ungefähr wie "% 'foobar'%" aussehen. Sie müssen% an die $ data in der Anweisung -> execute() anhängen.Da dies vor 3 Jahren war, bin ich sicher, dass Sie den Fehler – relipse
herausgefunden haben. Übrigens, ich stoße auf das gleiche Problem, keine Fehlermeldung. Die einzige Methode, die ich gelernt habe, es zu beheben, besteht darin, das SQL einfach in phpmyadmin zu kopieren und einzufügen und nach der Ausgabe zu suchen. Hat das jemand herausgefunden? Ich habe die Antworten unten versucht. – relipse