如果我使用 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的数组?
使用mysql_query
结果将被缓冲。如果您希望它不受缓冲,那么您将使用mysql_unbuffered_query
,但请记住以下几点:
mysql_unbuffered_query()的好处是有代价的:在获取所有行之前,您不能对从mysql_unbuffered_query()返回的结果集使用mysql_num_rows()和 mysql_data_seek() 。您还必须从无缓冲的 SQL 查询中获取所有结果行,然后才能使用相同的 *link_identifier* 向 MySQL 发送新的 SQL 查询。
虽然,你不应该再使用mysql
函数了,无论如何......