2009-09-09 48 views
1

這是一個令我困惑的問題。我有一個MySQL查詢,正在運行雖然PDO:MySQL查詢將字段設置爲0而不是空白字符串

$stmt = $db->prepare("UPDATE member SET acode='' AND status='active' WHERE username=:u"); 
$stmt->bindValue(':u', $member->username, PDO::PARAM_STR); 
$stmt->execute(); 

acode場被設置爲0,出於某種原因。它創建於

`acode` varchar(8) NOT NULL 

使用預準備語句時,我需要做些什麼嗎?

回答

8

Gidday,

問題帶有您的查詢的這個部分:

SET acode='' AND status='active' 

的,變身的「」和狀態=「活躍」布爾檢查,其結果爲0這一點。將您的查詢改爲:

SET acode='', status='active' 
+0

D'oh!小學生的錯誤,不能相信我錯過了... – DisgruntledGoat 2009-09-10 00:05:29

+0

嘿,它發生了 - 很像我在參數表上做'UPDATE'並忘記'WHERE'子句的常見習慣! – 2009-09-10 00:10:56

相關問題