2012-09-18 186 views
2

我從PDO得到一個奇怪的錯誤,它沒有任何意義。我正在嘗試下面的代碼,但即使我更改了代碼,我也得到了不會反映任何更改的完全相同的錯誤。PDO給出奇怪的結果

$stmt = $db->prepare("SELECT database, gpsthr from ccprefs where fleetnumber=?"); 
    $stmt->bindValue(1, (int) $smpfleet, PDO::PARAM_INT); 
    $stmt->execute(); 

這裏的錯誤消息:

「SQLSTATE [42000]:語法錯誤或訪問衝突:1064您的SQL語法錯誤;檢查對應於您的MySQL服務器版本的手冊在'gpsthr from ccprefs where fleetnumber =?'附近使用正確的語法在第1行「

如果我將代碼更改爲此,我仍然得到相同的錯誤。

$stmt = $db->prepare("SELECT database, gpsthr from ccprefs where fleetnumber= :fleet"); 
    $stmt->bindValue(':fleet', (int) $smpfleet, PDO::PARAM_INT); 
    $stmt->execute(); 
+0

'database'是[保留字](http://dev.mysql.com/doc/refman/5.5/en/reserved-words.html)。用反引號包裝或改變它。 – DCoder

+0

這是愚蠢的。謝謝您的幫助。 – Codeguy007

回答