在foreach循环php之后执行唯一查询

时间:2014-10-07 06:45:38

标签: php loops foreach

我必须用大小来自数组变量的值更新mysql表。 为此我正在做这样的事情,但是这个代码执行许多查询作为数组上的项目数,并且很难管理错误。 我怎么只能执行一个查询但仍然使用foreach循环? php版本的服务器太旧了,不支持mysql_query以外的任何东西。

foreach($decoded_array as $key=>$value)
                      {
                            if(!is_numeric($value))
                            {
                            $value = "'".$value."'";
                            }

                            echo $sql ="UPDATE table SET ".$key." = ".$value.";     
                            $res = mysql_query($sql);

                      }     

2 个答案:

答案 0 :(得分:1)

echo $sql ="UPDATE table SET ".$key." = ".$value.";

将此更改为此

$sql ="UPDATE table SET '".$key."' = '".$value."';

和这个

$value = "'".$value."'";

到这个

$value = '".$value."';

再多认为mysql_函数被删除了。

使用mysqli_ Function或PDO

对于mysqli_函数,请检查此链接http://php.net/manual/en/book.mysqli.php

FOR PDO请检查此链接http://php.net/manual/en/book.pdo.php

答案 1 :(得分:1)

$set = "";
foreach($decoded_array as $key=>$value)
    $set .= ($set ? "," : "") . $key . "=" . (is_numeric($value) ? $value : "'".$value."'");
$sql = "UPDATE table SET " . $set;
$res = mysql_query($sql);

但我不确定使用"'"。$ value。"'"是安全的。我更喜欢mysqli函数escape_string。