我经常有大型数组,或
PHP中大量的动态数据,我需要运行MySQL查询来处理.
有没有更好的方式来运行诸如INSERT或UPDATE之类的进程,而不会循环访问要被INSERT或更新的信息?
示例(为了简洁起见,我没有使用准备的语句):
- $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
如果您的插入对于同一个表是简单的,您可以在ONE查询中执行多个插入
- $fruits = "('".implode("'),('",$fruitsArray)."')";
- MysqL_query("INSERT INTO Fruits (Fruit) VALUES $fruits",$connection);
查询最终看起来像这样:
- $query = "INSERT INTO Fruits (Fruit)
- VALUES
- ('Apple'),('Pear'),('Banana')";
这可能是你想去的方式.