2013-03-28 3 views
0

SELECT 문을 사용하여 mysql_query()를 실행하면 모든 레코드를 처리하는 동안 다른 프로세스가 아직 처리되지 않은 결과 집합의 일부 데이터를 수정합니다. mysql_fetch_row()를 사용하면 이전 데이터 또는 업데이트 된 데이터를 얻을 수 있습니까? 예를 들어쿼리에서 반환 된 MySQL 데이터가 버퍼링 되었습니까?

:
가 테이블 :

id data 
1 a 
2 b 
3 c 
4 d 

I 행 1 및 2를 처리 한 후, ID 3 행 및 mysql_fetch_row() 함수를 호출 E
데이터를 변화() 얻을 나 데이터c 또는 e와 배열?

+1

당신은 '오래된'데이터를 얻을 것이다. – Vatev

답변

2

mysql_query을 사용하면 결과가 버퍼링됩니다.이 비용으로 온 mysql_unbuffered_query()의

장점 : 당신이 버퍼링 한 후 다음하지만, mysql_unbuffered_query를 사용 명심 것 싶다면 당신은 할 수 없습니다 결과에 사용 mysql_num_rows()와 mysql_data_seek() 모든 행을 가져올 때까지 을 mysql_unbuffered_query()에서 반환했습니다. 또한 이 동일한 * link_identifier *를 사용하여 MySQL에 새로운 SQL 쿼리를 보낼 수 있기 전에 은 버퍼링되지 않은 SQL 쿼리에서 모든 결과 행을 가져와야합니다.

어쨌든, 더 이상 mysql 기능을 사용하지 말아야하지만 ...

+0

감사합니다. 나는해서는 안된다. 나는 천천히 MySQLi로 마이 그 레이션하고 있지만 프로젝트의 상당 부분은 여전히 ​​mysql에있다. – Xeos

관련 문제