Reputation: 555
After inserting multiple rows with a single insert statement, I get expected behavior from $mysqli->info.
var_dump( $mysqli->info );
string 'Records: 1246 Duplicates: 0 Warnings: 0' (length=41)
After inserting a single row, $mysqli->info returns NULL
var_dump( $mysqli->info );
null
var_dump( $mysqli->affected_rows );
int 1
mysqli_info() returns an empty string
var_dump( mysqli_info( $mysqli ) )
string '' (length=0)
I cannot find any reference to this behavior! I would expect info after a single insert like
string 'Records: 1 Duplicates: 0 Warnings: 0' (length=38)
PHP 5.4.12, mySQL 5.6.12
Executed Code:
$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 );
Results:
INSERT INTO module_history (BackupDate, Modules) VALUES ('2014-01-01','Module List1')
null
int 1
INSERT INTO module_history (BackupDate, Modules) VALUES ('2014-01-02','Module List2'),('2014-01-03','Module List3')
string 'Records: 2 Duplicates: 0 Warnings: 0' (length=38)
int 2
Upvotes: 4
Views: 1333
Reputation: 555
http://dev.mysql.com/doc/apis-php/en/apis-php-mysqli.info.html
Query Type - Example result string
Note
Queries which do not fall into one of the preceding formats are not supported. In these situations, mysqli_info will return an empty string.
Conclusion: There is not a case listed above for a single row insert. Therefore, an empty string is what should be expected.
Upvotes: 3