严格标准:mysqli_next_result()错误与mysqli_multi_query

严格标准:mysqli_next_result()错误与mysqli_multi_query

我尝试过使用multi_query但是我一直在弹出严格的标准消息。

$querystring = "INSERT INTO responses VALUES('1', '2', '3', '4'); INSERT INTO responses VALUES('1', '2', '3', '4')";if (mysqli_multi_query($db, $querystring)) {
   do {
       if ($result = mysqli_store_result($db)) {
           //
       }
   } while (mysqli_next_result($db));}echo "end";

我得到的错误信息是:

严格标准:mysqli_next_result():没有下一个结果集。请调用mysqli_more_results()/ mysqli :: more_results()来检查是否要调用此函数/方法

我试过添加和删除-;但没有运气。


大话西游666
浏览 499回答 3
3回答

MMTTMM

您收到此警告的原因仅仅是因为您使用了一个do... while循环来运行命令块后评估条件。因此,当没有更多结果时,循环的内容再运行一次,产生该警告。使用while ($mysql->next_result())... do循环应该解决这个问题。(总的来说:在数据库编程中使用像你一样的测试后循环非常罕见)如果代码是诗歌,我想成为莎士比亚!

慕森王

(代表OP发表答复)。解决了:$querystring = "INSERT INTO responses VALUES('1', '2', '3', '4'); INSERT INTO responses    VALUES('1', '2', '3', '4')";if (mysqli_multi_query($db, $querystring)) {do {    if (!mysqli_more_results($db)) {     exit();    }} while (mysqli_next_result($db));}echo "end";
打开App,查看更多内容
随时随地看视频慕课网APP