mysql --mysqli::multi_query 和 mysqli_multi_query

语法:

对象化:bool mysqli::multi_query ( string $query )

过程化:bool mysqli_multi_query ( mysqli $link , string $query )

用法:

mysqli::multi_query ( string $query )

$dataStr = '要执行的多条sql语句';
$mysqli = new mysqli(hostname,username,password,database);   //连接MySQL数据库
if ($mysqli->connect_errno) {
    printf("Connect failed: %s
", $mysqli->connect_error);
    exit();
}
$mysqli->multi_query($dataStr);

 mysqli_multi_query ( mysqli $link , string $query )

$dataStr = '要执行的多条sql语句';
$link = mysqli_connect("localhost", "my_user", "my_password", "world");   //连接MySQL数据库
if ($mysqli->connect_errno) {
    printf("Connect failed: %s
", $mysqli->connect_error);
    exit();
}
mysqli_multi_query($link,$dataStr  );

注意:

1、$dataStr语句要求严格:

  1)、必须为纯sql语句,不能有注释

  2)、以“;”为间隔执行sql语句,不能有非“;”以外的其他符号,如delimiter $$

2、multi_query()方法的返回值,以及 mysqli的属性errno、error、info等只与第一条SQL命令有关,无法判断第二条及以后的命令是否在执行时发生了错误。所以在执行 multi_query()方法的返回值是TRUE时,并不意味着后续命令在执行时没有出错。即,明明执行的结果与预期的有差别,但偏偏返回的是true,不报错

原文地址:https://www.cnblogs.com/hf8051/p/4630518.html