問(wèn)題描述
我有一個(gè)表名板,我正在嘗試使用當(dāng)前代碼插入數(shù)據(jù)
I have a table name boards, and I'm trying to insert data using the current code
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, ( "
" . Utils::getDate() . " : " . $e->getMessage() ), FILE_APPEND);
die( "FATAL ERROR...Please check the error log." );
}
}
但是,每次我收到此錯(cuò)誤2012-05-11 14:40:50 : SQLSTATE[42000]: 語(yǔ)法錯(cuò)誤或訪問(wèn)沖突:1064 您的 SQL 語(yǔ)法有錯(cuò)誤;請(qǐng)查看手冊(cè)對(duì)應(yīng)于您的 MySQL 服務(wù)器版本,以便在 'desc,datecreated,isactive) 附近使用正確的語(yǔ)法 VALUES('d5989c7e-9b98-11e1-88cd-0026b936528c','1' at line 1"
However, every time I get this error "2012-05-11 14:40:50 : 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 'desc,datecreated,isactive) VALUES('d5989c7e-9b98-11e1-88cd-0026b936528c','1' at line 1"
我使用 bindValue()
嘗試了相同的函數(shù),只是將帶有直接值的數(shù)組放入 $sth->execute()
函數(shù)中,但我總是收到同樣的錯(cuò)誤.也許外面的眼睛可以發(fā)現(xiàn)我遺漏或做錯(cuò)的事情?
I have tried the same function using bindValue()
and just putting the array with direct values into the $sth->execute()
function but I always receive the same error. Maybe an outside eye can spot something I'm missing or doing wrong?
推薦答案
將你的字段名稱(chēng)封裝在反引號(hào)中 (`
),desc
是一個(gè)保留字.
Encapsulate your field names in backticks (`
), desc
is a reserved word.
$sth = $this->getLink()->prepare( "INSERT INTO `boards` (`id`,`memberid`,`name`,`desc`,`datecreated`,`isactive`)
VALUES(?,?,?,?,?,?)" );
這篇關(guān)于PHP PDO 語(yǔ)法錯(cuò)誤或訪問(wèn)沖突:插入時(shí)為 1064的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,也希望大家多多支持html5模板網(wǎng)!