sql >> Database teknologi >  >> RDS >> Mysql

PHP Mysqli returnerer ingen rækker, mens manuel SQL-forespørgsel returnerer resultater

-- Er det rigtigt, at Bill Gates fik en jackpot i et lotteri?
-- Ja, helt rigtigt. Bare det var ikke Bill Gates, men John Doe, ikke i et lotteri, men black jack, ikke jackpot men $10 og ikke vundet, men tabt.

Denne "næsten identiske " ødelægger det hele. For at give mysqli skylden, skal du køre nøjagtig den samme forespørgsel uden nogen antagelser.

Der er faktisk hele PHP-program til at bygge din forespørgsel dynamisk. Der kan helt sikkert være fejl i det program. Så hvis din forespørgsel ikke kører, som du forventer, skal du verificere resultatet af programmet, nemlig - selve forespørgslen.

Har du nogensinde haft en idé om at ekko den resulterende forespørgsel i stedet for at køre den? Bare for at være sikker på, at det faktisk er den forespørgsel, du forventer? Hvis ikke - det er på tide at gøre det.

Og selvfølgelig skal det være et nøjagtigt sæt af forespørgsler, ikke anderledes end dem, du kører manuelt.

Hvis du faktisk er kører nøjagtig den samme statiske forespørgsel fra mysqli, og resultatet er forskelligt fra enhver anden klient - så forbinder du til forskellige servere med disse klienter. Mens mysqli aldrig vil forstyrre dine forespørgsler. Det kan du være sikker på.




  1. Indsættelse af NULL-værdi til en dobbelt datatype MySQL Python

  2. Brug af DATE_ADD med et kolonnenavn som intervalværdi

  3. Sådan bruger du GROUP BY til at sammensætte strenge i mysql

  4. Installer Apache, MySQL 8 eller MariaDB 10 og PHP 7 på CentOS 7