sql >> Database >  >> RDS >> Mysql

PHP Mysqli retourneert geen rijen, terwijl handmatige SQL-query resultaten oplevert

-- Is het waar dat Bill Gates een jackpot won in een loterij?
-- Ja, helemaal waar. Alleen was het niet Bill Gates maar John Doe, niet in een loterij maar blackjack, geen jackpot maar $10 en niet gewonnen maar verloren.

Deze "bijna identieke " bederft de hele zaak. Om mysqli de schuld te geven, moet je exact dezelfde query uitvoeren zonder enige aannames.

Er is eigenlijk het hele PHP-programma om je zoekopdracht dynamisch op te bouwen. Er kunnen zeker fouten in dat programma zitten. Dus als uw zoekopdracht niet loopt zoals u verwacht, moet u het resultaat van het programma verifiëren, namelijk - de vraag zelf.

Heb je ooit een idee gehad om de resulterende query uit te echoën, in plaats van deze uit te voeren? Om er zeker van te zijn dat het inderdaad de vraag is die je verwacht? Zo niet, dan is het tijd om dat te doen.

En het moet natuurlijk een exacte reeks zoekopdrachten zijn, niet anders dan degene die u handmatig uitvoert.

Als je dat inderdaad bent draait precies hetzelfde statisch query van mysqli, en het resultaat is anders dan welke andere client dan ook - dan maakt u verbinding met verschillende servers met deze clients. Terwijl mysqli uw vragen nooit zal verstoren. Daar kun je zeker van zijn.




  1. MySQL-query voor huidige GMT-tijd

  2. SQL:hoe de rijenvolgorde te behouden met DISTINCT?

  3. Geldt ORDER BY voor of na DISTINCT?

  4. Escape-regeleinden in MySQL-uitvoer