我有一个用于mysqli的包装器php类,它需要能够处理多个查询(使用mysqli::multi_query)。它可以工作,但我找不到当其中一个查询失败时应该如何获取错误详细信息。这是代码的简化版本:
$queries=array('SELECT * FROM core_order_items',
'SELaaaaECT * FROM core_order_items',
);
$dbConnection = mysqli_connect('localhost', 'siella', 'arifisis', 'mydb');
$dbConnection->set_charset('utf8');
$dbConnection->multi_query(implode(';', $queries)) ;
$i=0;
do {
echo "Query: " . $queries[$i] . " - ";
$resultset=$dbConnection->store_result();
if($resultset===false && strlen($dbConnection->errno)>0) {
echo "Returned error for query " . $i . "<br>";
}
else {
echo "Returned set for query " . $i . "<br>";
}
$i++;
}
while ($dbConnection->next_result());
mysqli_close($dbConnection);
请注意,在两个SQL查询中,第一个很好,第二个无效。
结果是:
Query: SELECT * FROM core_order_items - Returned set for query 0
我的第二个问题怎么了?如果我修复了它,它就会显示出来,但是当发生错误时,它就好像不在数组中一样。如何获取错误/否消息?