严格标准:mysqli_next_result() mysqli_multi_query 错误
问题:
使用 mysqli_multi_query( )触发一个与 mysqli_next_result() 相关的“严格标准”错误。
解决方案:
要解决此问题,请使用以下代码:
do{} while(mysqli_more_results($db) && mysqli_next_result($db));
说明:
发生严格标准错误是因为必须调用 mysqli_more_results() 来检查是否应使用 mysqli_next_result()。提供的代码片段确保仅在存在另一个结果集时才调用 mysqli_next_result()。
注意事项:
增强功能:
要获得更强大的方法,请考虑以下代码片段:
if(mysqli_multi_query($db,$querystring)){ do{ $cumulative_rows+=mysqli_affected_rows($db); } while(mysqli_more_results($db) && mysqli_next_result($db)); } if($error_mess=mysqli_error($db)){echo "Error: $error_mess";} echo "Cumulative Affected Rows: $cumulative_rows";
此代码片段:
附加说明:
对于不熟悉 mysqli_multi_query() 的用户,这里有一个通用代码处理带或不带结果集的查询的代码片段:
while((isset($multi_query) && (next($queries) && mysqli_more_results($mysqli) && mysqli_next_result($mysqli))) || (!isset($multi_query) && $multi_query=mysqli_multi_query($mysqli,implode(';',$queries)))){ echo "<br><br>",key($queries),": ",current($queries); // display array pointer key:value if($result=mysqli_store_result($mysqli)){ while($rows=mysqli_fetch_assoc($result)){ echo "<br>Col = {$rows["Col"]}"; } mysqli_free_result($result); } echo "<br>Rows = ",mysqli_affected_rows($mysqli); // acts like num_rows on SELECTs }
此代码片段:
以上是如何使用 mysqli_multi_query() 修复'严格标准:mysqli_next_result() 错误”?的详细内容。更多信息请关注PHP中文网其他相关文章!