Mysql
 sql >> Datenbank >  >> RDS >> Mysql

PHP Mysqli gibt keine Zeilen zurück, während die manuelle SQL-Abfrage Ergebnisse zurückgibt

-- Stimmt es, dass Bill Gates in einer Lotterie einen Jackpot geknackt hat?
-- Ja, ziemlich wahr. Nur war es nicht Bill Gates, sondern John Doe, nicht in einer Lotterie, sondern Black Jack, nicht Jackpot, sondern 10 Dollar und nicht gewonnen, sondern verloren.

Diese "fast identische " verdirbt die ganze Sache. Um mysqli die Schuld zu geben, müssen Sie genau dieselbe Abfrage ausführen ohne Annahmen.

Es gibt tatsächlich ein ganzes PHP-Programm, um Ihre Abfrage dynamisch zu erstellen. Es könnten sicherlich Fehler in diesem Programm sein. Wenn Ihre Abfrage also nicht so läuft, wie Sie es erwarten, müssen Sie das Ergebnis des Programms überprüfen, nämlich die eigentliche Abfrage selbst

Hatten Sie jemals die Idee, die resultierende Abfrage auszugeben, anstatt sie auszuführen? Nur um sicherzugehen, dass es sich tatsächlich um die erwartete Abfrage handelt? Wenn nicht - ist es Zeit, dies zu tun.

Und natürlich sollte es ein exakter Satz von Abfragen sein, der sich nicht von denen unterscheidet, die Sie manuell ausführen.

Wenn ja läuft genau die gleiche statische Abfrage von mysqli, und das Ergebnis unterscheidet sich von jedem anderen Client - dann stellen Sie mit diesen Clients eine Verbindung zu verschiedenen Servern her. Während mysqli Ihre Abfragen niemals stört. Dessen können Sie sich sicher sein.