有效的SQL语法?

时间:2012-09-12 10:34:32

标签: php sql

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

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

非常感谢。

2 个答案:

答案 0 :(得分:1)

试试这个

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

答案 1 :(得分:0)

您正在错误地使用字符串中的连接:

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

原因是你已经拆分了字符串,并且想要使用数组内部的值。

你拥有的是一个字符串:

UPDATE Orders SET status='

你正在为它添加一个变量:

$_POST['order_status'][$i]

依旧......

您使用字符串之间的连接,并且不需要在包含的数组中使用它。

在该注释中,在查询中使用$_POST数据是危险的。你真的应该使用一个准备好的语句 - 这意味着你可以安全地绑定变量。