在php中按数组更新数据库表

时间:2017-05-18 06:51:57

标签: php mysql

我想按数组更新数据库表,目前使用的代码需要花费更多时间 代码在

之下
  $data = array(
                'name' => $id
                 );

        while($data)
                {
              $pid=$data['name']; 
              mysql_query("UPDATE pm_registration SET status='1' WHERE id='$pid'")or die(mysql_error());
                }

还有其他解决方案吗?非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

首先,我看到你正在使用弃用的mysql扩展。您将面临许多安全错误和SQL注入。有关详细信息,请参阅How can I prevent SQL injection in PHP?

我从你的问题中假设你想循环遍历数组并执行相同的查询,你可以通过使用Prepared语句并传递参数来实现这一目的。

e.g。

 $stmt = $pdo->prepare("UPDATE pm_registration SET status= :status WHERE id=:name");

    foreach ($data as $key => $value) {
        $stmt->execute(["status" => $value['status'], "name" => $value['name']]);
    }