Abgleich von Zeilen in der Datenbank mit PDO: Fehlerbehebung bei Problemen
Beim Versuch, mithilfe von PDO nach doppelten Zeilen in einer Datenbank zu suchen, kann es zu Problemen kommen bei denen die Ergebnisse von Ihren Erwartungen abweichen. Hier sind mögliche Probleme und Lösungen, die Sie berücksichtigen sollten:
Probleme, die durch SQL-Fehler verursacht werden
Bestätigen Sie, dass Ihre Abfrage fehlerfrei ausgeführt wird. PDO gibt möglicherweise „0“ als Ergebnisanzahl zurück, auch wenn keine Übereinstimmungen vorliegen, was auf ein Abfrageproblem hinweist.
Durch die Bedingung verursachte Probleme
Überprüfen Sie Ihre Abfragebedingungen für Exklusivität. Bedingungen wie „WHERE col=1 AND col=2“ geben immer „0“ zurück. Vereinfachen Sie die Bedingungen, um das Problem zu isolieren.
Durch die Daten verursachte Probleme
Debugging-Tipps
Beispielproblem und -lösung
Ihre Abfrage enthält eine Zeichenfolge mit HTML-Entitäten, z. B „SELECT count(*) FROM inbox WHERE ... AND from_email = „abc Offers <[email protected]>““ Bei Ausführung in phpMyAdmin funktioniert diese Abfrage, gibt aber über PDO „0“ zurück. Die HTML-Entitäten („<“ und „>“, konvertiert in Entitäten) verursachen die Nichtübereinstimmung. Durch Ändern der Abfrage zum Entfernen dieser Entitäten wird das Problem behoben:
$sql = 'SELECT count(*) FROM inbox WHERE uid = ? AND from_email = "abc Offers [email protected]"'; $result = $link->prepare($sql); $result->execute([$email_number,$email_f]); $number_of_rows = $result->fetchColumn();
Das obige ist der detaillierte Inhalt vonWarum gibt meine PDO-Datenbankzeilenübereinstimmungsabfrage Null zurück, selbst wenn Übereinstimmungen vorhanden sind?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!