Vous avez vu des tonnes de questions similaires mais vous ne parvenez toujours pas à savoir ce qui se passe.PDO MySQL préparé INSERT erreur de syntaxe
J'utilise PDO de PHP pour préparer une déclaration comme ça:
try{
$statement = $db->prepare("INSERT INTO $date (name, surname, email, phone, comment) VALUES (:name, :surname, :email, :phone, :comment)");
$statement->bindParam(':name', $name);
$statement->bindParam(':surname', $surname);
$statement->bindParam(':email', $email);
$statement->bindParam(':phone', $phone);
$statement->bindParam(':comment', $comment);
$statement->execute();
}
catch(PDOException $e){
die("Connection to database failed: " . $e->getMessage());
}
ont essayé échapper tout avec [] et en spécifiant le nom de la base de données avant le nom de la table, mais continuer à obtenir
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 '2017-08-11 (name, surname, email,
phone, comment) VALUES ('Test', 'Test', '[email protected]' at line 1
Le nom de la table '2017-08-11' est invalide, si vous avez vraiment une table avec la date comme un nom (si je suis curieux de savoir pourquoi) vous devez envelopper entre guillemets – JimL
Merci! C'est juste un système de réservation simple avec une table par jour. – NoSock