这会更新我的sql信息吗?

时间:2011-06-21 05:34:30

标签: php mysql

我知道愚蠢的头衔。我有这个:

$x = array_keys($_POST);
foreach($x as $y) {

 $query = "UPDATE * FROM  events (PromotionalTimeLine = "$_POST[$y]" WHERE EventID='$y'";
  $result = mysql_query($query);
  print_r($result);

}

我只需更新PromotionalTimeLine单元格作为$y EventID的特定行。这会这样做吗?

3 个答案:

答案 0 :(得分:4)

不,你有更新查询的mysql语法错误。

$query = "UPDATE events 
          SET PromotionalTimeLine = '".mysql_real_escape_string($_POST[$y])."' 
          WHERE EventID='".$y."'";

答案 1 :(得分:0)

你的字符串连接有一些问题。它应该是

$query = "UPDATE events SET PromotionalTimeLine = '" .$_POST[$y]. "' WHERE EventID='".$y."'";

而且你还没有清理你的输入,我建议你这样做,因为cose不容易受到SQL注入或类似的攻击。以下是有关清理输入的详细信息 - What's the best method for sanitizing user input with PHP?

答案 2 :(得分:-1)

顺便说一句,其他答案都不适合我。这虽然有效:

mysql_query("UPDATE events 
          SET PromotionalTimeLine = '$_POST[$y]'
          WHERE EventID='$y' ");