mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query — 결과 행을 가져오고 버퍼링하지 않고 MySQL에 SQL 쿼리 보내기

경고 이 확장은 PHP 5.5.0에서 더 이상 사용되지 않으며 PHP 7.0.0에서 제거되었습니다. 대신 MySQLi 또는 PDO_MySQL 확장을 사용해야 합니다. MySQL: API 선택 가이드도 참조하세요. 이 함수의 대안은 다음과 같습니다.


설명

mysql_unbuffered_query(string $query, resource $link_identifier = NULL): resource

mysql_unbuffered_query()mysql_query()처럼 결과 행을 자동으로 가져오고 버퍼링하지 않고 SQL 쿼리 query를 MySQL로 보냅니다. 이렇게 하면 큰 결과 집합을 생성하는 SQL 쿼리에서 상당한 양의 메모리가 절약되고 완전한 SQL 쿼리가 수행될 때까지 기다릴 필요가 없기 때문에 첫 번째 행이 검색된 직후 결과 집합에 대한 작업을 시작할 수 있습니다. 여러 데이터베이스 연결이 열려 있는 동안 mysql_unbuffered_query()를 사용하려면 사용하려는 연결을 식별하기 위해 선택적 매개변수 link_identifier를 지정해야 합니다.


매개변수

query
실행할 SQL 쿼리입니다.

쿼리 내부의 데이터는 적절하게 이스케이프되어야 합니다.

link_identifier
MySQL 연결. 링크 식별자가 지정되지 않으면 mysql_connect()에 의해 열린 마지막 링크가 가정됩니다. 그러한 링크가 발견되지 않으면 mysql_connect()가 인수 없이 호출된 것처럼 링크를 생성하려고 시도합니다. 연결을 찾거나 설정하지 않으면 E_WARNING 수준 오류가 생성됩니다.

반환 값

SELECT, SHOW, DESCRIBE 또는 EXPLAIN 문의 경우 mysql_unbuffered_query()는 성공 시 리소스를 반환하고 오류 시 false를 반환합니다.

다른 유형의 SQL 문의 UPDATE, DELETE, DROP 등의 경우 mysql_unbuffered_query()는 성공 시 true를 반환하고 오류 시 false를 반환합니다.


노트

참고:

mysql_unbuffered_query()의 이점은 비용이 듭니다. 모든 행이 인출될 때까지 mysql_unbuffered_query()에서 반환된 결과 집합에 mysql_num_rows()mysql_data_seek()를 사용할 수 없습니다. 또한 동일한 link_identifier를 사용하여 새 SQL 쿼리를 MySQL에 보내기 전에 버퍼되지 않은 SQL 쿼리에서 모든 결과 행을 가져와야 합니다.


기타