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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – $mysqli-> info成功插入单行后为null脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
使用单个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将返回一个空字符串.

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

脚本宝典总结

以上是脚本宝典为你收集整理的php – $mysqli-> info成功插入单行后为null全部内容,希望文章能够帮你解决php – $mysqli-> info成功插入单行后为null所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。