请注意,对于有时错过阅读此函数的重要手册条目的人员
如果您不使用 mysqli_stmt_store_result( ),并在执行预处理语句后立即调用此函数,则此函数通常会返回 0,因为它无法知道结果集中有多少行,因为结果集尚未保存在内存中。
mysqli_stmt_store_result( ) 将结果集保存在内存中,因此您可以在执行语句和保存结果集后立即使用此函数。
如果您不保存结果集但仍想使用此函数,则必须使用 mysqli_stmt_fetch( ) 逐行遍历结果集,然后才能使用此函数确定行数。
不过,如果您想在不存储结果集并在遍历结果集后确定行数,为什么不简单地在循环中每次获取一行时都使用内部计数器,并保存函数调用呢?
简而言之,此函数仅在您保存结果集并希望在遍历结果集之前确定行数时才真正有用,否则您可以像我建议的那样重现其用途。