sql >> Databasteknik >  >> RDS >> Mysql

PHP Mysqli returnerar inga rader, medan manuell SQL-fråga returnerar resultat

-- Är det sant att Bill Gates fick en jackpott i ett lotteri?
-- Ja, helt sant. Bara det var inte Bill Gates utan John Doe, inte i ett lotteri utan black jack, inte jackpot utan $10 och inte vunnen utan förlorad.

Denna "nästan identisk " förstör det hela. För att skylla på mysqli, måste du köra exakt samma fråga utan några antaganden.

Det finns faktiskt hela PHP-program för att bygga din fråga dynamiskt. Det kan säkert finnas fel i det programmet. Så om din fråga inte går som du förväntar dig måste du verifiera resultatet av programmet, nämligen - själva frågan.

Har du någonsin haft en idé att eka den resulterande frågan istället för att köra den? Bara för att vara säker på att det verkligen är den fråga du förväntar dig? Om inte - det är dags att göra det.

Och naturligtvis bör det vara exakta frågor, inte annorlunda än de du kör manuellt.

Om du verkligen är det kör exakt samma statiska fråga från mysqli, och resultatet skiljer sig från vilken annan klient som helst - då ansluter du till olika servrar med dessa klienter. Medan mysqli aldrig kommer att störa dina frågor. Det kan du vara säker på.




  1. fortsätt att få ett syntaxfel (php / mysql)

  2. MYSQL Välj inom samma tabell

  3. Ersätt null med 0 i MySQL

  4. MySql:Begränsa uppdateringsbehörighet för en kolumn i en tabell