Maison >base de données >tutoriel mysql >**Pourquoi est-ce que j'obtiens l'erreur \'T_ENCAPSED_AND_WHITESPACE\' dans ma requête SQL ?**
Erreur inattendue : "T_ENCAPSED_AND_WHITESPACE" rencontrée
Lors de l'exécution d'une requête SQL, vous pouvez rencontrer l'erreur déroutante : "T_ENCAPSED_AND_WHITESPACE inattendu, en attente de T_STRING ou T_VARIABLE ou T_NUM_STRING." Cette erreur met spécifiquement en évidence un problème avec la syntaxe de votre requête au niveau de la ligne : "UPDATE table SET utility_quantity=$qty WHERE user=$rows['user'] ."
Racine du problème
La cause première de cette erreur réside dans la mauvaise gestion des guillemets autour de la valeur définie dans la clause "WHERE". Lorsque vous utilisez des valeurs de chaîne dans une requête SQL, elles doivent être placées entre guillemets simples ou doubles pour les distinguer des valeurs variables ou numériques. Dans ce cas, la variable utilisateur '$rows['user']' n'est pas mise entre guillemets.
Solution
Pour résoudre cette erreur, mettez simplement l'utilisateur variable entre guillemets simples ou doubles. Voici la requête corrigée :
<code class="php">$sqlupdate1 = "UPDATE table SET commodity_quantity=$qty WHERE user='".$rows['user']."' ";</code>
En ajoutant les guillemets nécessaires, la requête définira désormais correctement la valeur de 'user' sur la valeur stockée dans la variable '$rows['user']'. Cela résoudra l'erreur "T_ENCAPSED_AND_WHITESPACE inattendue" et permettra à votre requête de s'exécuter avec succès.
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!