mysql multi_query_如何确保从MySQLi :: multi_query捕获了所有错误?

如果第一条语句失败,则返回FALSE。要从其他语句检索后续错误,必须首先调用mysqli_next_result()。

成功返回TRUE,失败返回FALSE。

最后,文档中发布的示例multi_query使用返回值from next_result来确定何时不再有查询。例如停止循环:

$mysqli = new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */

if (mysqli_connect_errno()) {

printf("Connect failed: %s\n", mysqli_connect_error());

exit();

}

$query = "SELECT CURRENT_USER();";

$query .= "SELECT Name FROM City ORDER BY ID LIMIT 20, 5";

/* execute multi query */

if ($mysqli->multi_query($query)) {

do {

/* store first result set */

if ($result = $mysqli->store_result()) {

while ($row = $result->fetch_row()) {

printf("%s\n", $row[0]);

}

$result->free();

}

/* print divider */

if ($mysqli->more_results()) {

printf("-----------------\n");

}

} while ($mysqli->next_result()); //

}

/* close connection */

$mysqli->close();

?>

我不知道提供的查询数量,也不知道将要执行的SQL。因此,我不能仅将查询数量与返回结果数量进行比较。但是,如果第三个查询是损坏的查询,那么我想向用户显示错误消息。但是我似乎没有办法判断是否next_result失败是因为没有更多的查询要执行,还是因为SQL语法错误。

如何检查所有查询中的错误?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值