Forum und email
mysql_unbuffered_query

mysql_unbuffered_query

(PHP 4 >= 4.0.6, PHP 5)

mysql_unbuffered_query -- Wysyła zapytanie do serwera MySQL nie pobierając i buforując wyniku

Opis

resource mysql_unbuffered_query ( string zapytanie [, resource identyfikator_połączenia] )

mysql_unbuffered_query() wysyła zapytanie SQL do serwera MySQL nie pobierając i buforując wyniku, jak to czyni mysql_query(). Po pierwsze, zauważalnie oszczędza to pamięć, jeśli zapytania SQL generują duże wyniki. Po drugie, można pracować na zbiorze wynikowym już po odebraniu od bazy pierwszego wiersza. Nie trzeba czekać, aż zakończy się działanie zapytania. Przy pracy z kilkoma połączeniami do bazy, należy dodać opcjonalny argument identyfikator_połączenia.

Parametry

zapytanie

Zapytanie SQL

identyfikator_połączenia

Połączenie MySQL. Jeśli identyfikator połączenia nie zostanie podany, użyte zostanie ostatnie połączenie otwarte przez mysql_connect(). Jeśli połączenie takie nie zostanie znalezione, funkcja spróbuje nawiązać połączenie tak, jakby wywołana została funkcja mysql_connect() bez argumentów. Jeśli żadne połączenie nie zostanie znalezione lub nawiązane, wygenerowane zostanie ostrzeżenie poziomu E_WARNING.

Zwracane wartości

Dla wyrażeń SELECT, SHOW, DESCRIBE lub EXPLAIN, mysql_unbuffered_query() zwraca zasób w przypadku sukcesu lub FALSE gdy nastąpi niepowodzenie.

Dla innych typów wyrażeń SQL, UPDATE, DELETE, DROP, etc, mysql_unbuffered_query() zwróci TRUE w przypadku skucesu lub FALSE gdy nastąpi niepowodzenie.

Notatki

Notatka: Oprócz korzyści, funkcja mysql_unbuffered_query() wprowadza pewne ograniczenia: nie można użyć funkcji mysql_num_rows() i mysql_data_seek() na zbiorze wyników zwróconym przez mysql_unbuffered_query(). Trzeba także pobrać wszystkie wiersze wyniku niebuforowanego zapytania SQL przed wysłaniem kolejnego.

Patrz także

mysql_query()