$q = 'UPDATE dashboard SET a= '.$a.' AND
UPDATE dashboard SET b= '.$b.' AND
UPDATE dashboard SET c= '.$c.' AND
UPDATE dashboard SET d= '.$d;
我的連接出錯了?更新SQL語句失敗,變量
$q = 'UPDATE dashboard SET a= '.$a.' AND
UPDATE dashboard SET b= '.$b.' AND
UPDATE dashboard SET c= '.$c.' AND
UPDATE dashboard SET d= '.$d;
我的連接出錯了?更新SQL語句失敗,變量
UPDATE
語法不用於每一列。相反,你必須使用類似:
q = 'UPDATE dashboard SET a= '.$a.',
b= '.$b.',
c= '.$c.',
d= '.$d;
當然,你可能需要添加,如果$a
,...瓦爾可能有字符引號。
從MySQL --> 13.2.10 UPDATE Syntax
UPDATE [LOW_PRIORITY] [IGNORE] table_reference
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
[ORDER BY ...]
[LIMIT row_count]
當您使用mysqli
,你應該使用準備好的發言安全(好!):
$sql = 'UPDATE dashboard SET a = :a, b = :b, c = :c, d = :d';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':a' => $a, ':b' => $b, ':c' => $c, ':d' => $d));
更多信息,請參見PDO::prepare in php.net manual。
你可以幫助這裏http://stackoverflow.com/questions/25931203/sql-update-query-didnt-execute-but-return-no-errror ?? thx – user3522738 2014-09-19 10:03:55
你可能需要'execute()'而不是'query()' – fedorqui 2014-09-19 10:34:17
它應該是這樣的。
$q = 'UPDATE dashboard SET a= '.$a.', b= '.$b.', c= '.$c.', d= '.$d;
並且你是否缺少where條件,或者你想要更新所有記錄?
更新:
$emp_id = $_POST['emp_id'];
$emp_salary = $_POST['emp_salary'];
$sql = "UPDATE employee ".
"SET emp_salary = $emp_salary ".
"WHERE emp_id = $emp_id" ;
thx,所以在我的情況下沒有連接錯誤? – user3522738 2014-09-19 09:39:47
不會有任何級聯錯誤。但請確保添加單引號以傳遞varchar數據。 – Ankith 2014-09-19 09:44:06
你能幫我看看嗎? http://stackoverflow.com/questions/25931203/sql-update-query-didnt-execute-but-return-no-errror – user3522738 2014-09-19 10:03:35
爲什麼不是一個單一的更新命令的東西爲'更新儀表盤設置=「someval」,B =「一些VAL」 ...' – 2014-09-19 09:34:58
而使用的mysqli這將是一個好主意也使用參數化準備語句。 – VMai 2014-09-19 09:36:20
@VMai例子?? – user3522738 2014-09-19 09:40:31