php-使用mysqli_fetch_assoc(结果)时,结果会发生什么变化?
当我有这样的事情时:php-使用mysqli_fetch_assoc(结果)时,结果会发生什么变化?,php,mysql,Php,Mysql,当我有这样的事情时: $row = mysqli_fetch_assoc($result); $result现在是否少了一行? 如果我在所有的$result中循环mysqli\u fetch\u assoc,之后它会是空的吗 $结果是一个,无法在其中添加或删除数据。它会给你一个结果,并在内部进入下一个记录。这样的结果是不变的 提供了其他信息。$结果为,无法添加或删除其中的数据。它会给你一个结果,并在内部进入下一个记录。这样的结果是不变的 提供其他信息。$result是对SQL结果集的引用,其中
$row = mysqli_fetch_assoc($result);
$result现在是否少了一行?
如果我在所有的$result
中循环mysqli\u fetch\u assoc
,之后它会是空的吗 $结果是一个,无法在其中添加或删除数据。它会给你一个结果,并在内部进入下一个记录。这样的结果是不变的
提供了其他信息。$结果为,无法添加或删除其中的数据。它会给你一个结果,并在内部进入下一个记录。这样的结果是不变的
提供其他信息。
$result
是对SQL结果集的引用,其中包含响应查询返回的所有行。调用mysqli\u fetch\u assoc
只需将结果集的内部指针进一步下移到行列表中,最终指向NULL
(列表末尾)。这些行仍然在那里,您没有删除任何一行:您只是遍历了列表,您可以使用类似于mysqli_data_seek
的方法再次遍历它们,以重置指向特定行的内部指针
要清除
$result
,您需要调用mysqli\u free\u result
来“释放”结果集。$result
是对SQL结果集的引用,其中包含响应查询返回的所有行。调用mysqli\u fetch\u assoc
只需将结果集的内部指针进一步下移到行列表中,最终指向NULL
(列表末尾)。这些行仍然在那里,您没有删除任何一行:您只是遍历了列表,您可以使用类似于mysqli_data_seek
的方法再次遍历它们,以重置指向特定行的内部指针
要清除
$result
,您需要调用mysqli_free_result
以“释放”结果集。执行该行后,$result
保留为资源指针,并可供其他函数使用,以进一步处理$result
作为对数据库的引用
您可以取消设置它,或者mysqli\u free\u result($result)代码>
请参阅:执行该行后,$result
仍作为资源指针,并可由其他函数使用,以进一步处理,$result
作为对数据库的引用
您可以取消设置它,或者mysqli\u free\u result($result)代码>
请参阅:不太同意“$result仍将包含返回的所有行”。相反,我认为这是对SQL获取的结果集的引用。您是正确的。我的措辞很糟糕,这混淆了问题。我将编辑答案以合并您的注释。不太同意“$result仍将包含返回的所有行”。相反,我会说这是对SQL获取的结果集的引用。您是正确的。我的措辞很糟糕,这混淆了问题。我将编辑答案以合并您的注释。