Главная
домен в подарок! подробнее

каталог сайтов www.poiu.ru закрыт. копия сайта www.myphp.net.ru сделана мной без согласия автора, подробнее тут


mysql_query

(PHP 3, PHP 4 )

mysql_query -- Посылает запрос MySQL

Описание

resource mysql_query ( string query [, resource link_identifier [, int result_mode]])

mysql_query() посылает запрос активной базе данных на сервер, связанный с идентификатором. Если link_identifier не указан, то используется последнее открытое соединение. Если ни одно соединение ранее не установлено, то функция пытается создать его с помощью вызова функции mysql_connect() с аргументами, установленными по умолчанию.

Необязательный параметрl result_mode может принимать значения MYSQL_USE_RESULT и MYSQL_STORE_RESULT. По умолчанию используется MYSQL_STORE_RESULT, таким образом результат кешируется. Смотрите также mysql_unbuffered_query().

Примечание: Строка запроса не должна заканчиваться точкой с запятой.

Только для операторов SELECT, SHOW, EXPLAIN и DESCRIBE mysql_query() возвращает идентификатор результата или FALSE, если запрос не выполнен. Для других типов операторов SQL mysql_query() возвращает TRUE в случае успеха и FALSE при возникновении ошибки. Если возвращено значение, не равное FALSE, то запрос верен и может быть исполнен сервером. Это никоим образом не сигнализирует о числе возвращенных записей. Это возмножно также и для успешно выполненного запроса, который не возвратил никаких записей.

Следующий запрос неверен с точки зрения синтаксиса MySQL, и mysql_query() возвращает FALSE:

Пример 1. mysql_query()

<php
$result = mysql_query("SELECT * WHERE 1=1")
    or die("Invalid query");
?>

Следующий запрос неверен с точки зрения семантики языка в случае, если my_col не является колонкой таблицы my_tbl, поэтому mysql_query() возвращает FALSE:

Пример 2. mysql_query()

<?php
$result = mysql_query("SELECT my_col FROM my_tbl")
    or die ("Invalid query");
?>

mysql_query() также возвратит FALSE и выведет сообщение об ошибке, если вы не имеете доступа к таблице, на которую ссылается запрос.

Предполагая, что запрос выполнен, вы можете использовать mysql_num_rows() для нахождения числа возвращенных записей для оператора SELECT или mysql_affected_rows() для нахождения числа задействованных записей операторами DELETE, INSERT, REPLACE или UPDATE.

Только для операторов SELECT,SHOW,DESCRIBE or EXPLAIN, mysql_query() возвращает новый идентификатор результата, который вы можете использовать функцией mysql_fetch_array() и другими. Когда вы выполнили операции с результатом, вы можете освободить ресурсы, связанные с ним, с помощью вызова mysql_free_result(). Хотя память будет освобождена также по окончании исполнения скрипта.

Смотрите также: 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() и mysql_connect().

<-Назад

Список всех функций

Если вы заметили ошибку, неточность, либо хотите опубликовть свой перевод неуказанных в разделе функций, пожалуйста, напишите по этому адресу.