$q = 'UPDATE dashboard SET a= '.$a.' AND
UPDATE dashboard SET b= '.$b.' AND
UPDATE dashboard SET c= '.$c.' AND
UPDATE dashboard SET d= '.$d;
我的连接哪里出错了?
答案 0 :(得分:0)
每个列都不使用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。
答案 1 :(得分:0)
它应该是类似的东西。
$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" ;