Mysql
 sql >> Base de données >  >> RDS >> Mysql

PHP Mysqli ne renvoie aucune ligne, tandis que la requête SQL manuelle renvoie des résultats

-- Est-il vrai que Bill Gates a touché un gros lot à une loterie ?
-- Oui, tout à fait vrai. Seulement ce n'était pas Bill Gates mais John Doe, pas dans une loterie mais black jack, pas jackpot mais 10$ et pas gagné mais perdu.

Ce "presque identique " gâche tout. Pour blâmer mysqli, vous devez exécuter exactement la même requête sans aucune hypothèse.

Il existe en fait un programme PHP complet pour créer votre requête de manière dynamique. Il y a sûrement des erreurs dans ce programme. Donc, si votre requête ne s'exécute pas comme prévu, vous devez vérifier le résultat du programme, à savoir - la requête elle-même.

Avez-vous déjà eu l'idée de faire écho à la requête résultante, au lieu de l'exécuter ? Juste pour être sûr qu'il s'agit bien de la requête que vous attendez ? Si ce n'est pas le cas, il est temps de le faire.

Et bien sûr, il doit s'agir d'un ensemble exact de requêtes, non différentes de celles que vous exécutez manuellement.

Si vous l'êtes effectivement exécutant exactement le même statique requête de mysqli, et le résultat est différent de tout autre client - alors vous vous connectez à différents serveurs avec ces clients. Bien que mysqli n'interfère jamais avec vos requêtes. Vous pouvez en être absolument sûr.