$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