mysql_query() wysyła zapytanie do aktywnej bazy na serwerze skojarzonym z podanym identyfikatorem połączenia. Jeżeli identyfikator_połączenia nie został podany, wykorzystywane jest ostatnio otwarte połączenie. Jeżeli żadne połączenie nie jest otwarte, podjęta zostanie próba ustanowienia go, poprzez wywołanie mysql_connect() bez argumentów.
Notatka: Zapytanie nie powinno kończyć się znakiem średnika.
mysql_query() zwraca identyfikator wyniku (lub FALSE w przypadku niepowodzenia) jedynie dla zapytań typu SELECT. Dla innych zapytań SQL mysql_query() zwraca TRUE lub FALSE informując czy zapytanie zakończyło się sukcesem czy też nie. Jeśli nie została zwrócona wartość FALSE to znaczy, że zapytanie było prawidłowe i może być wykonane przez serwer. Nie mówi natomiast nic o liczbie przetworzonych lub zwróconych wierszy. Jest również możliwe, że zapytanie zostanie wykonane poprawnie, nie przetwarzając lub zwracając żadnych wierszy.
Następujące zapytanie jest niepoprawne składniowo, dlatego mysql_query() zwróci FALSE:
Następujące zapytanie jest niepoprawne semantycznie, jeżeli my_col nie jest kolumną w tabeli my_tbl, dlatego mysql_query() zwróci FALSE:
mysql_query() zwróci FALSE również wtedy, gdy nie będzie praw dostępu do tabel wyszczególnionych w zapytaniu.
Przyjmując, że zapytanie się powiodło, można użyć mysql_num_rows() by uzyskać informację o liczbie wierszy zwróconych w instrukcji SELECT, lub mysql_affected_rows() w celu uzyskania liczby wierszy przetworzonych przez instrukcje DELETE, INSERT, REPLACE i UPDATE.
Jedynie po operacji SELECT, mysql_query() zwróci identyfikator wyniku, który można przekazać do funkcji mysql_result() lub innych funkcji operujących na tablicach wyników. Po zakończeniu operacji na wyniku, można zwolnić zasoby przez niego wykorzystywane wywołując mysql_free_result(). Po zakończeniu działania skryptu pamięć i tak będzie automatycznie zwolniona.
Patrz także: mysql_num_rows(), mysql_affected_rows(), mysql_unbuffered_query(), mysql_free_result(), mysql_fetch_array(), mysql_fetch_row(), mysql_fetch_assoc(), mysql_result(), mysql_select_db() i mysql_connect().
Poprzedni | Spis treści | Następny |
mysql_pconnect | Początek rozdziału | mysql_unbuffered_query |