2011-03-09 3 views
1

Pourriez-vous m'aider à comprendre ce qui pourrait arriver sur cette ligne?PHP/MYSQL Erreur de syntaxe

$sql45="UPDATE invite_keys SET use=$num WHERE key=$getkey LIMIT 1 "; 

j'ai fait une erreur de vérification et a pu déterminer que la ligne ci-dessus a une syntaxe incorrecte, je ne peux pas comprendre ce qui cause exactement échouer. Est-ce que quelqu'un sait?

Output of error: MySQL Query failed with error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'use=1 WHERE key=2598131858 LIMIT 1' at line 1 

Nous vous remercions de votre aide!

Répondre

4

USE et KEY sont des mots réservés MySQL et doivent être entourés de backticks dans votre requête:

"UPDATE invite_keys SET `use` = $num WHERE `key` = $getkey LIMIT 1" 

Voir la liste des mots réservés dans le documentation.

+0

Merci, Mark! Tous fixés et j'ai appris quelque chose de nouveau! Merci beaucoup! – Brandon

2
$sql45="UPDATE `invite_keys` SET `use`=" . $num . " WHERE `key`=" . $getkey . " LIMIT 1 "; 

point est - toujours utiliser `` pour les champs au moins ...

0

réponse de Marc sur le dos tiques est droite. Surveillez l'utilisation de mots-clés dans les instructions SQL et les variables PHP. C'est facile - et parfois tentant - de le faire.

Une bonne chose à faire lors du dépannage est d'écho votre chaîne SQL afin que vous puissiez le voir dans son intégralité, ce qui peut vous donner un indice.

Si cela ne vous aide pas, essayez de coller dans phpmysqladmin ou une autre interface mySQL et voyez quelle erreur cela provoque. Parfois, il est plus explicatif que ce que vous voyez sur une page Web.

+0

Merci Steve pour la pointe de débogage! Tout fonctionne maintenant! – Brandon