我经常有大型数组,或
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')";
这可能是你想去的方式.