很多涉及数据库操作的PHP程序,都需要批量执行多条SQL语句,但是对于mysql_query函数,只能执行一条SQL语句,无法执行多条。但mysqli扩展类有一个函数mysqli_multi_query,该函数正好弥补了mysql_query只能执行一条SQL语句的缺点,下面小编向大家介绍php批量执行多条SQL语句的实例代码:

需要注意的是,该实例使用了面向对象编程的方法,当然也可以使用面向过程的方法。

<?php
   /*   http://www.manongjc.com   */
   //创建mysqli类并连接数据库
   $mysqli = new mysqli(\"127.0.0.1\", \"root\",\"\", \"mydata \");

   $userid = $_SESSION[\'userid\'];

   $query = \"SELECT lastname, firstname FROM user WHERE userID=\'$userid\';\";
   $query .= \"SELECT product_count, CONCAT(\'$\',total_cost) FROM sales WHERE userID=\'$userid\'\";

   //批量执行SQL语句。由于有多条SQL语句,所以会对于多条数据结果集,下面的代码处理了多条数据集。
   /*   http://www.manongjc.com/article/1193.html   */
   if($mysqli->multi_query($query)) {
      do {
         $result = $mysqli->store_result();
         while ($row = $result->fetch_row())
            echo \"$row[0], $row[1] <br />\";
         if ($mysqli->more_results())
            echo \"<br />\";
      } while ($mysqli->next_result());
   }
?>
收藏 打印