0

如果我使用 SELECT 语句运行 mysql_query(),那么当我处理所有记录时,另一个进程会修改结果集中的一些数据,这些数据尚未处理。使用 mysql_fetch_row() 获取旧数据还是更新数据?

例如:
表:

id data
1  a
2  b
3  c
4  d

我已经处理了第 1 行和第 2 行,然后是id为3的行并将数据更改为e
调用 mysql_fetch_row() 会给我一个数据等于ce的数组?

4

1 回答 1

2

使用mysql_query结果将被缓冲。如果您希望它不受缓冲,那么您将使用mysql_unbuffered_query,但请记住以下几点:

mysql_unbuffered_query()的好处是有代价的:在获取所有行之前,您不能对从mysql_unbuffered_query()返回的结果集使用mysql_num_rows()和 mysql_data_seek() 。您还必须从无缓冲的 SQL 查询中获取所有结果行,然后才能使用相同的 *link_identifier* 向 MySQL 发送新的 SQL 查询。

虽然,你不应该再使用mysql函数了,无论如何......

于 2013-03-28T22:54:27.997 回答