bonjour a tous,

Je suis un jeune codeur PHP et j'ai une erreur que j'arrive pas a comprendre. J'espere que vous pourrez m'aider.

L'erreur :
PDOStatement::execute() [pdostatement.execute]: SQLSTATE[42000]: Syntax error or access violation: 1064 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 'key, pseudo, ip, date) VALUES ('mykeyperso', 'mrthebigbosseur', '86.208.78.145',' at line 1 in /home/a1394006/public_html/api/skype.php on line 51

Mon code :
$req = $bdd->prepare('INSERT INTO logs (key, pseudo, ip, date) VALUES (:key, :pseudo, :ip, :date)');
$req->bindParam(":key", $key1, PDO::PARAM_STR);
$req->bindParam(":pseudo", $pseudo1, PDO::PARAM_STR);
$req->bindParam(":ip", $ip1, PDO::PARAM_STR);
$req->bindParam(":date", $date, PDO::PARAM_STR);
$req->execute();

Mes variables :
$key1 = $_GET['key'];
$pseudo1 = $_GET['pseudo'];
$ip1 = $_SERVER['REMOTE_ADDR'];
$date = $_SERVER['REQUEST_TIME'];

Ma base de données

L'erreur vient de la key car quand je l'enleve de la BDD et de la requete je n'est plus d'erreur, et la requete s'execute.
Merci.

1 réponse


skp
Réponse acceptée

Bonsoir, sauf erreur "key" est un mot réservé dans MySQL. Cependant, tu peux essayer avec cette requête :

INSERT INTO logs (`key`, pseudo, ip, date) VALUES (:key, :pseudo, :ip, :date)