PHP PDO erreur de Syntaxe ou de violation d'accès: 1064 sur insérer
J'ai un nom de table des planches, et je vais essayer d'insérer des données en utilisant le code actuel
function createBoard( $name, $desc ) {
try {
$sth = $this->getLink()->prepare( "INSERT INTO boards(id,memberid,name,desc,datecreated,isactive)
VALUES(?,?,?,?,?,?)" );
$uuid = $this->uuid();
$memberid = 1;
$date = Utils::getDate();
$isactive = 1;
$sth->bindParam( 1, $uuid );
$sth->bindParam( 2, $memberid );
$sth->bindParam( 3, $name );
$sth->bindParam( 4, $desc );
$sth->bindParam( 5, $date );
$sth->bindParam( 6, $isactive );
return $sth->execute();
} catch( PDOException $e ) {
/*
* save the error to the error log defined as @ERROR_LOG
*/
file_put_contents( ERROR_LOG, ( "\n" . Utils::getDate() . " : " . $e->getMessage() ), FILE_APPEND);
die( "FATAL ERROR...Please check the error log." );
}
}
Cependant, à chaque fois que je reçois ce message d'erreur "2012-05-11 14:40:50 : SQLSTATE[42000]: erreur de Syntaxe ou de violation d'accès: 1064 Vous avez une erreur dans votre syntaxe SQL; consultez le manuel qui correspond à votre versions du serveur MySQL pour la bonne syntaxe à utiliser près de 'desc,datecreated,est actif) VALUES('d5989c7e-9b98-11e1-88cd-0026b936528c','1' à la ligne 1"
J'ai essayé la même fonction à l'aide de bindValue()
et juste mettre le tableau avec les valeurs directes dans le $sth->execute()
fonction, mais je reçois toujours le même message d'erreur. Peut-être un œil extérieur peut repérer quelque chose que je suis absent ou mal?
OriginalL'auteur Naterade | 2012-05-11
Vous devez vous connecter pour publier un commentaire.
Encapsuler vos noms de champ dans les backticks (
`
),desc
est un mot réservé.OriginalL'auteur ccKep