Résolu Erreur PHP Incomprehensible

Statut
N'est pas ouverte pour d'autres réponses.

SoCoolMen

Espion
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
Salut RG

Comme vous pouvez le voir dans le titre j'ai une erreur en PHP mais que je comprend vraiment pas, meme d'autre codeur a qui j'ai demandé ne savent pas.
En esperant 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 :
PHP:
$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 :
PHP:
$key1 = $_GET['key'];
$pseudo1 = $_GET['pseudo'];
$ip1 = $_SERVER['REMOTE_ADDR'];
$date = $_SERVER['REQUEST_TIME'];

Ma base de données
0ukS5Qa.png


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 d'avance :*
 

HaXGamiG

Développeurs
Premium
Inscription
12 Mai 2014
Messages
1 470
Réactions
323
Points
14 896
Fait un C/C et essaye

PHP:
$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();
 

SoCoolMen

Espion
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
Fait un C/C et essaye

PHP:
$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();
Peut pas marcher, ça va chercher " "key" " dans la db ;)
 

SoCoolMen

Espion
Premium
Inscription
15 Novembre 2011
Messages
3 012
Réactions
1 064
Points
22 509
Fait un C/C et essaye

PHP:
$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();
Ah si ça compte comme si yavais pas les "" mais toujours meme erreur
 

#42

restart system
Premium
Inscription
5 Juillet 2014
Messages
693
Réactions
315
Points
9 484
Ou alors essayes comme ça:

PHP:
 $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();
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut