我正在编写的脚本的一部分需要我精确地了解MYSQL查询结果集如何获取信息。
我从SQL查询中获得标准结果,然后使用fetch_array将其转换为行数组。
在循环这个内容时,假设我删除了表中找到的某一行。如果我将结果指针重置回第一个,那么即使该行不再存在,我还能找到它吗?会找到空行还是完全错过该行?
换句话说,结果是在需要每一行时向MYSQL请求,还是一次性获取整个数组,因此不会捕捉到表之后的任何更改?
提前致谢
编辑
$result = $conn->query("SELECT ID, value FROM table");
while($row=$result->fetch_array()){
if(x){
$conn->query("DELETE FROM table WHERE ID=$row['ID']");
mysqli_data_seek($result,0);
}
}
问题是:在重置后,那个被删除的行会被重复、跳过还是返回其他内容,比如NULL?