Hàm mysql_unbuffered_query() của PHP

Định nghĩa và cách sử dụng

Hàm mysql_unbuffered_query() gửi một truy vấn SQL đến MySQL (không lấy / lưu trữ kết quả).

Cú pháp

mysql_unbuffered_query(query,kết nối)
Tham số Mô tả
query Bắt buộc. Định nghĩa truy vấn SQL cần gửi. Ghi chú: chuỗi truy vấn không nên kết thúc bằng dấu chấm phẩy.
kết nối Tùy chọn. Định nghĩa标识符 kết nối SQL. Nếu không được quy định, sẽ sử dụng kết nối mở trước đó.

Giải thích

mysql_unbuffered_query() gửi một truy vấn SQL query đến MySQL, nhưng không giống mysql_query() để tự động lấy và lưu cache kết quả tập hợp. Một mặt, điều này giúp tiết kiệm đáng kể bộ nhớ khi xử lý kết quả tập hợp lớn. Mặt khác, có thể thực hiện các thao tác trên tập hợp kết quả ngay lập tức sau khi lấy được dòng đầu tiên, mà không cần chờ đến khi truy vấn SQL hoàn thành.

Khi sử dụng nhiều kết nối cơ sở dữ liệu, phải chỉ định các tham số tùy chọn kết nối

Cảnh báo và chú thích

Ghi chú:Lợi ích của mysql_unbuffered_query() có giá phải trả: Không thể sử dụng mysql_num_rows()mysql_data_seek()Ngoài ra, trước khi gửi một truy vấn SQL mới đến MySQL, phải lấy tất cả các dòng kết quả từ các truy vấn SQL không được lưu cache.

Mẫu

<?php
$con = mysql_connect("localhost","mysql_user","mysql_pwd");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }
// Tìm kiếm lớn
$sql = "SELECT * FROM Person";
mysql_unbuffered_query($sql,$con);
// Bắt đầu xử lý dữ liệu...
mysql_close($con);
?>