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\n", $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\n", $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,不报错

时间: 2024-11-05 17:17:51

mysql --mysqli::multi_query 和 mysqli_multi_query的相关文章

php的mysql\mysqli\PDO(二)mysqli

原文链接:http://www.orlion.ga/1147/ mysqli有面向对象风格和面向过程风格,个人感觉还是用面向对象风格比较好(毕竟是面向对象) 1.mysqli::_construct() mysqli::__construct ([ string $host = ini_get("mysqli.default_host") [, string $username = ini_get("mysqli.default_user") [, string $

封装数据库mysql, mysqli

<?php header("content-type:text/html;charset=utf-8"); class db{    //私有的静态属性    private static $dbcon = false ;    //私有的构造方法    private function __construct($dbname){        $dbcon = @mysql_connect('127.0.0.1', 'root', 'root');        mysql_s

php的mysql\mysqli\PDO(三)PDO

原文链接:http://www.orlion.ga/1153/ PDO是一种数据库抽象层,不止可以访问mysql还可以访问其他数据库. 一.__construct() PDO::__construct ( string $dsn [, string $username [, string $password [, array$driver_options ]]] ) $dsn:通常,一个 DSN 由 PDO 驱动名.紧随其后的冒号.以及可选的驱动程序的数据库连接变量信息,如主机名.端口和数据库名

PHP mysqli连接MySQL数据库

1. 开启PHP的API支持 (1)首先修改您的php.ini的配置文件.查找下面的语句:;extension=php_mysqli.dll将其修改为:extension=php_mysqli.dll (2)重新启动Apache/IIS,即可. (3)说明:PHP需要单独的文件来支持这个扩展库,一般在PHP目录下的ext目录里能找到php_mysqli.dll文件(PHP <= 5.0.2 中是 libmysqli.dll),当然,在PHP的配置文件当中要有正确指向ext的信息(extensio

PDO PDO_MYSQL MYSQLI MYSQL 的区别

MYSQL,MYSQLI 这两个扩展本身就是访问MYSQL数据库的驱动 PDO则是一个抽象层概念 PDO_MYSQL 和 MySQL Native(mysqlnd)是实现了PDO接口的MYSQL数据库驱动 从下表可以看出他们之间是怎样的并列关系   PHP的mysqli扩展 PDO (使用PDO MySQL驱动和MySQL Native驱动) PHP的mysql扩展 引入的PHP版本 5.0 5.0 3.0之前 PHP5.x是否包含 是 是 是 MySQL开发状态 活跃 在PHP5.3中活跃 仅

PHP中用mysqli面向对象打开连接关闭mysql数据库

代码如下: 1 <meta http-equiv="content-type" content="text/html" charset="utf-8"/> 2 <h1>用mysqli面向对象方法连接数据库!-姚远的博客</h1> 3 <form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP

PHP API中,MYSQL与MYSQLI的持久连接区别

留存再测试验证 PHP API中,MYSQL与MYSQLI的持久连接区... 很久很久以前,我也是因为工作上的bug,研究了php mysql client的连接驱动mysqlnd 与libmysql之间的区别php与mysql通讯那点事,这次又遇到一件跟他们有联系的事情,mysqli与mysql持久链接的区别.写出这篇文章,用了好一个多月,其一是我太懒了,其二是工作也比较忙.最近才能腾出时间,来做这些事情.每次做总结,都要认真阅读源码,理解含义,测试验证,来确认这些细节.而每一个步骤都需要花费

PHP中用mysqli面向过程打开连接关闭mysql数据库

代码如下: 1 <meta http-equiv="content-type" content="text/html" charset="utf-8"/> 2 <h1>用mysqli面向过程方法连接数据库!-姚远的博客</h1> 3 <form method="POST" action="<?php echo iconv("GB2312","

PHP执行批量mysql语句

当有多条mysql语句连起来需要执行,比如 $sqls= "insert table a values(1,2); insert table a values(2,3);" 需要执行的话php中可以使用的方法有三个: mysql_query pdo mysqli 三种方法当sqls语句没有问题的时候都是可以的. 但是 当sql语句是错误的时候会出现问题 第一条sql错误:三个方法都返回false 第一条sql正确,第二条sql错误:mysql_query.pdo. mysqli:que