Lorsque mysql_query retourne false
Côté de l'écriture de la mauvaise requête et n'ayant pas les autorisations pour accéder à une table, quand mysql_query
renvoie false? Existe-il d'autres cas?
Une raison quelconque vous avez besoin d'une information étonnante?
Je suis modifiant le code hérité et a constaté que la plupart du temps il n'y a pratiquement pas de gestion d'erreur, donc je vais essayer d'en savoir plus, éventuellement, de modifier le mieux. J'ai trouvé les docs n'est pas parfait dans ce cas.
Je suis modifiant le code hérité et a constaté que la plupart du temps il n'y a pratiquement pas de gestion d'erreur, donc je vais essayer d'en savoir plus, éventuellement, de modifier le mieux. J'ai trouvé les docs n'est pas parfait dans ce cas.
OriginalL'auteur AsTheWormTurns | 2011-12-20
Vous devez vous connecter pour publier un commentaire.
Voir le guide de référence:
http://php.net/manual/en/function.mysql-query.php
Edit: Clarification de ce que ces erreurs sont réellement.
Nous avons donc une liste de choses qui peuvent return false:
À mon avis, les 2 premiers sont ceux qui sont un peu diffus. Quelles sont les erreurs possibles? Il y a 59 des clients, les erreurs que vous pouvez obtenir à partir de MySQL. Ceux-ci sont plus liés au système, les erreurs que nous pouvons présumer que php va gérer et probablement envelopper dans un plus petit montant de l'abstraction des erreurs.
À l'exception de ceux du client les erreurs que vous avez un ensemble de plus abstraites, les erreurs que vous pouvez rencontrer lors de l'utilisation qui est plus lié à l'utilisation de l'API réel à l'intérieur de l'application plutôt que de le raw d'accès au serveur MySQL. Ceux-ci sont:
Voici les références de ce que je viens de dire:
quand quelque chose va mal et les valeurs n'ont PAS été insérés.
Pigarelli: ma question est à la recherche pour que "quelque chose" 🙂
d'habitude les choses, je suppose: erreur de syntaxe, le tableau n'est pas trouvé, les champs n'est pas trouvé, les valeurs ne sont pas de droite, pas de connexion établie... les choses que vous pouvez découvrir par vos propres 🙂
Aussi, je vous suggère de passer à PDO. Il a PDOExceptions qui vous aide avec ce genre de choses.
OriginalL'auteur rzetterberg
Je vous remercie pour votre commentaire.
Je suis sûr qu'il n'y a absolument pas besoin de creuser dans ces détails.
Une chose que vous avez vraiment besoin est un message d'erreur qui vous permet de lire et d'obtenir ainsi informé de ce problème en particulier.
Donc, il semble que
mysql_error()
fonction est vraiment ce que vous cherchez.semble suffisant.
dirait qu'il n'est pas seulement sonné, mais aussi il a le même sens impair. Bonne chance à l'invention de la roue carrée.
Sharpnel: problème c'est le code que j'ai modifié a pas de roues. 🙂
Qui a été utile!
OriginalL'auteur Your Common Sense
Malheureusement, le guide de référence n'est pas très précis quand il s'agit de ce que sont des voies possibles pour déclencher des erreurs. En outre syntaxiquement invalide états et de ne pas avoir les autorisations, le dépassement de la limite pour la création de nouveaux états est une erreur qui peut pop-up si vous êtes confronté à une charge élevée.
OriginalL'auteur nijansen
Mise à JOUR de la requête retournera false si la requête est correctement écrit, mais pas de lignes affectées, ex:
OriginalL'auteur ZurabWeb
J'ai eu cette erreur et mysql_error() a retourné "MySQL server has gone away". Ma question était très simple requête de sélection * à partir d'une petite table. Quand j'ai changé de "Select *" pour sélectionner les deux colonnes, je voulais qu'il soit résolu le problème. "Select *" est paresseux codage, je sais, mais je n'ai jamais rêvé qu'il serait la cause de la requête de ne pas courir du tout!
OriginalL'auteur Rob Sedgwick