如果我使用SELECT语句运行mysql_query(),那么当我处理所有记录时,另一个进程会修改结果集中的一些数据,这些数据尚未处理。使用mysql_fetch_row()可以获取旧数据或更新数据吗?
例如:
表:
id data
1 a
2 b
3 c
4 d
我已处理第1行和第2行,然后使用 id 3行并将数据更改为 e
调用mysql_fetch_row()会得到一个数据等于 c 或 e 的数组?
答案 0 :(得分:2)
使用mysql_query
结果将被缓冲。如果你想要它没有缓冲,那么你可以使用mysql_unbuffered_query
,但请记住以下内容:
mysql_unbuffered_query()的好处是有代价的:你不能 在返回的结果集上使用mysql_num_rows()和mysql_data_seek() 来自 mysql_unbuffered_query(),直到获取所有行。你也是 必须先从无缓冲的SQL查询中获取所有结果行 可以使用相同的* link_identifier *。
向MySQL发送新的SQL查询
尽管如此,你不应该再使用mysql
函数,无论如何...