首页 > 解决方案 > 在一个 sql 查询中更新多行

问题描述

当向客户发送提醒时,我必须为客户列表更新任意数量的行。我可以通过 foreach 循环来实现这一点,但我确信必须有一种方法可以通过查询来做到这一点。

这是目前有效的

foreach($customer_id_arr as $c) mysqli_query($con,"UPDATE crm_customers SET customer_reminded=1 WHERE customer_id=$c");

我怎样才能在一个查询中做到这一点?

标签: phpmysqlsql

解决方案


您可以利用implode()这一点:

mysqli_query($con,"UPDATE crm_customers SET customer_reminded=1 WHERE customer_id IN (" . implode(",",$customer_id_arr) . ")";

值得一提的是,您很可能在不使用预准备语句的情况下对 SQL 注入持开放态度。


推荐阅读