La colonne « Mary » n'existe pas : un incident d'interrogation
Lors de l'exécution d'une requête, vous pouvez parfois rencontrer un message d'erreur indiquant qu'un une colonne particulière n'existe pas, même si elle est présente dans votre base de données. Un de ces scénarios est celui où la requête fait référence au nom de la colonne avec des caractères erronés.
Le cas de « Mary »
Dans l'exemple fourni, l'erreur concerne la colonne 'Marie'. Cependant, après examen de la requête, il devient évident qu'il n'y a pas de colonne nommée « Mary » dans la requête. Au lieu de cela, « Mary » est censé être une valeur attribuée à la colonne « personname ».
Le point clé à retenir ici est que l'erreur provient d'un codage de caractère incorrect de « Mary ». Dans la requête, « Mary » est entourée de guillemets intelligents (« Mary »), qui sont des caractères Unicode. Les systèmes de bases de données préfèrent généralement les guillemets simples (« Mary »), qui sont codés en ASCII.
Résoudre le problème
Pour corriger ce problème, remplacez simplement les guillemets intelligents par guillemets simples simples dans la requête. Modifiez votre requête comme suit :
SELECT telephone.telephonenumber as tel FROM person, telephone WHERE person.idperson = telephone.idperson AND person.personname = 'Mary';
En effectuant ce léger ajustement, votre requête recherchera désormais correctement les personnes portant le nom 'Mary' et récupérera leurs numéros de téléphone.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!