用PHP删除MySQL数据库中多行的更好方法? [英] Better method to delete multiple rows in a MySQL database with PHP?

查看:0
本文介绍了用PHP删除MySQL数据库中多行的更好方法?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

假设我有一个数组,其中包含一组MySQL表的ID:

$idList = array('1','2','3','4','5');

我想删除与每个id相关联的行。哪种方法更可取/更好/更快?

$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");

foreach($idList as $value) {
mysql_query("DELETE FROM this_table WHERE id = '$value'");
}

推荐答案

我不是专家,但我相信

$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");

更快。原因是,它只进行一次查询。发送到服务器的数据更少,并且只需一次命令即可处理所有数据。

一般来说,对于另一种方法,如果您有300个值,这意味着您要进行300个额外的函数调用,300个与服务器的通信,等等,尽管在实践中可能会有所不同。

编辑:此外,您应该始终使用适当的MySQL转义,即使您可以确定数据不是恶意的。请参阅http://php.net/manual/en/function.mysql-real-escape-string.php并考虑使用mysqli或pdo。

这篇关于用PHP删除MySQL数据库中多行的更好方法?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆