php - 将 MySQL 查询放在 PHP 循环中不好吗?

标签 php mysql

我经常需要运行 MySQL 查询来处理大型数组或 PHP 中的大量动态数据。

有没有更好的方法来运行许多进程,如 INSERT 或 UPDATE,而无需循环遍历要插入或更新的信息?

示例(为了简洁起见,我没有使用准备好的语句):

$myArray = array('apple','orange','grape');

foreach($myArray as $arrayFruit) {
$query = "INSERT INTO `Fruits` (`FruitName`) VALUES ('" . $arrayFruit . "')";
mysql_query($query, $connection);
}

最佳答案

选项 1 您实际上可以一次运行多个查询。

$queries = '';

foreach(){
    $queries  .= "INSERT....;";  //notice the semi colon
}

mysql_query($queries, $connection);

这将节省您的处理时间。

选项 2

如果您的插入对同一个表如此简单,您可以在一个查询中执行多个插入

$fruits = "('".implode("'), ('", $fruitsArray)."')";
mysql_query("INSERT INTO Fruits (Fruit) VALUES $fruits", $connection);

查询最终看起来像这样:

$query = "INSERT INTO Fruits (Fruit)
  VALUES
  ('Apple'),
  ('Pear'),
  ('Banana')";

这可能是您想要的方式。

关于php - 将 MySQL 查询放在 PHP 循环中不好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/733023/

相关文章:

javascript - 防止表单提交后重置多个同名复选框

Mysql 内连接查询显示错误结果

mysql - 如何将 NOT IN 子查询重写为连接

mysql - 配对唯一列 MySQL?

mysql - 在 mysql 语句中使用 For 循环在 vb.net 中变慢

Mysql - 联合两个查询与 "where in"子查询

php - 使用 php 从 mysql 搜索

PHP内存泄漏和 fork

php - 如何映射具有重复值的两个数组?

php - 在 MySQL 中选择多列的 MAX()