我经常需要运行 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/