(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().
<-Назад
Список всех функций Если вы заметили ошибку, неточность, либо хотите опубликовть свой перевод неуказанных в разделе функций, пожалуйста, напишите по этому адресу.
|