2012-10-27 98 views
0

我有得到的反饋這些變量(但是從POST形式)的查詢:爲什麼我的查詢不能執行?

$username = "John"; 
$email = "[email protected]"; 
$passwordEnc = "9d4e1e23bd5b727046a9e3b4b7db57bd8d6ee684"; 
$activated = 0; 
$activationKey = "5753a498f025464d72e088a9d5d6e872592d5f91"; 

查詢如下:

$stmt = $dbu->prepare("INSERT INTO users (username, email, password, activated, key) VALUES (?, ?, ?, ?, ?)"); 
$stmt->execute(array($username, $email, $passwordEnc, $activated, $activationKey)); 

沒有錯誤,但該條目不添加到我的表名爲'用戶'。

+1

可能重複的[如何擠出PDO錯誤信息?](http://stackoverflow.com/questions/3726505/how-to-squeeze-error-message-out-of-pdo) –

+0

什麼是$ stmt->執行返回? –

+0

請堅持你的準備並在try {} catch(PDOException $ e){echo $ e; }'塊,並告訴我們結果。 – Daedalus

回答

7

你需要逃避reserved words in MySQLpasswordkey與反引號

INSERT INTO users (username, email, `password`, activated, `key`) VALUES ... 
+0

謝謝,這節省了我很多時間!經常遺忘..我會盡可能接受,祝你有美好的一天! – BazzyTK

+0

我使用MySQL工作臺來設計我的查詢。它突出顯示保留字,您可以從一開始就看到問題。 –

+0

好吧,聽起來不錯。可能試試! – BazzyTK

1
$dbu->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$dbu->errorInfo(); 

添加此行得到任何PDO查詢錯誤

相關問題