加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – $mysqli-> info成功插入单行后为null

发布时间:2020-12-13 16:52:59 所属栏目:PHP教程 来源:网络整理
导读:使用单个insert语句插入多行后,我从$ mysqli- info中获得预期的行为. var_dump( $mysqli-info );string 'Records: 1246 Duplicates: 0 Warnings: 0' (length=41) 插入一行后,$mysqli- info返回NULL var_dump( $mysqli-info );nullvar_dump( $mysqli-affected
使用单个insert语句插入多行后,我从$ mysqli-> info中获得预期的行为.

var_dump( $mysqli->info );
string 'Records: 1246  Duplicates: 0  Warnings: 0' (length=41)

插入一行后,$mysqli-> info返回NULL

var_dump( $mysqli->info );
null
var_dump( $mysqli->affected_rows );
int 1

mysqli_info()返回一个空字符串

var_dump( mysqli_info( $mysqli ) )
string '' (length=0)

我找不到任何对此行为的引用!我希望在单个插入之后的信息就像

string 'Records: 1  Duplicates: 0  Warnings: 0' (length=38)

PHP 5.4.12,mySQL 5.6.12

执行代码:

$sql = "INSERT INTO module_history (BackupDate,Modules) VALUES ('2014-01-01','Module List1')";
$db->query($sql);
echo $sql . "n";
var_dump( $db->info );
var_dump( $db->affected_rows );

$sql = "INSERT INTO module_history (BackupDate,Modules) VALUES ('2014-01-02','Module List2'),('2014-01-03','Module List3')";
$db->query($sql);
echo $sql . "n";
var_dump( $db->info );
var_dump( $db->affected_rows );

结果:

INSERT INTO module_history (BackupDate,'Module List1')
null
int 1
INSERT INTO module_history (BackupDate,'Module List3')
string 'Records: 2  Duplicates: 0  Warnings: 0' (length=38)
int 2

解决方法

http://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.info.html

表3.9可能的mysqli_info返回值

查询类型 – 示例结果字符串

> INSERT INTO … SELECT …记录:100重复:0警告:0
> INSERT INTO … VALUES(…),(…),(…)记录:3个重复:0个警告:0
> LOAD DATA INFILE …记录:1删除:0跳过:0警告:0
> ALTER TABLE …记录:3个重复:0个警告:0
>更新…匹配的行数:40更改:40警告:0

注意

不支持不属于上述格式之一的查询.在这些情况下,mysqli_info将返回一个空字符串.

结论:单行插入没有上面列出的情况.因此,应该预期空字符串.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读