我有一个包含三个选项值的选择框。当用户选择一个时,我想使用 ajax 自动更新数据库中的该值。这个 SQL 对我想要实现的目标有效吗?
UPDATE
Orders
SET
status='".$_POST[order_status]['.$i.']."'
WHERE
ID='".$_POST[order_no] ['.$i.']."';
非常感谢。
像这样试试
$sql ="UPDATE Orders SET
status='".$_POST['order_status'][$i]."'
WHERE ID='".$_POST['order_no'][$i]."' ";
您错误地使用了字符串中的 concats:
UPDATE Orders
SET status='".$_POST['order_status'][$i]."'
WHERE ID='".$_POST['order_no'][$i]."';
原因是您已经在拆分字符串并且想要使用数组内部的值。
你有一个字符串:
UPDATE Orders SET status='
并且您正在将变量连接到它:
$_POST['order_status'][$i]
等等...
您在字符串之间使用 concat,并且不需要在您包含的数组中使用它。
需要注意的是,$_POST
在查询中使用数据是危险的。你真的应该使用准备好的语句——这意味着你可以安全地绑定变量。