0

我有一个包含三个选项值的选择框。当用户选择一个时,我想使用 ajax 自动更新数据库中的该值。这个 SQL 对我想要实现的目标有效吗?

UPDATE 
  Orders 
SET 
  status='".$_POST[order_status]['.$i.']."' 
WHERE 
  ID='".$_POST[order_no]      ['.$i.']."';

非常感谢。

4

2 回答 2

1

像这样试试

$sql ="UPDATE Orders SET
status='".$_POST['order_status'][$i]."' 
WHERE ID='".$_POST['order_no'][$i]."' ";
于 2012-09-12T10:40:48.353 回答
0

您错误地使用了字符串中的 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在查询中使用数据是危险的。你真的应该使用准备好的语句——这意味着你可以安全地绑定变量。

于 2012-09-12T10:35:22.277 回答