Resource php mysql query

mysql_query

Данное расширение устарело, начиная с версии PHP 5.5.0, и удалено в PHP 7.0.0. Используйте вместо него MySQLi или PDO_MySQL. Смотрите также инструкцию MySQL: выбор API и соответствующий FAQ для получения более подробной информации. Альтернативы для данной функции:

Описание

mysql_query() посылает один запрос (посылка нескольких запросов не поддерживается) активной базе данных сервера, на который ссылается переданный дескриптор link_identifier .

Список параметров

Запрос не должен заканчиваться точкой с запятой. Данные в запросе должны быть корректно проэкранированы.

Соединение MySQL. Если идентификатор соединения не был указан, используется последнее соединение, открытое mysql_connect() . Если такое соединение не было найдено, функция попытается создать таковое, как если бы mysql_connect() была вызвана без параметров. Если соединение не было найдено и не смогло быть создано, генерируется ошибка уровня E_WARNING .

Возвращаемые значения

Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса ( resource ), или false в случае ошибки.

Для других типов SQL-запросов, INSERT, UPDATE, DELETE, DROP и других, mysql_query() возвращает true в случае успеха и false в случае ошибки.

Полученный дескриптор результата нужно передать в функцию mysql_fetch_assoc() или любую другую функцию, работающую с результатами запросов.

Используйте mysql_num_rows() для выяснения количества рядов в результате SELECT-запроса или mysql_affected_rows() для выяснения количества обработанных рядов запросами DELETE, INSERT, REPLACE и UPDATE.

mysql_query() также завершится с ошибкой и вернет false , если у пользователя нет доступа к какой-либо из таблиц, фигурирующих в запросе.

Примеры

Пример #1 Неверный запрос

Следующий запрос составлен неправильно и mysql_query() вернёт false .

$result = mysql_query ( ‘SELECT * WHERE 1 = 1’ );
if (! $result ) die( ‘Неверный запрос: ‘ . mysql_error ());
>

Пример #2 Верный запрос

Следующий запрос верен, поэтому mysql_query() вернет resource .

// Эти данные, к примеру, могли быть получены от пользователя
$firstname = ‘fred’ ;
$lastname = ‘fox’ ;

// Формируем запрос
// Это лучший способ выполнить SQL-запрос
// Еще примеры можно найти в документации mysql_real_escape_string()
$query = sprintf ( «SELECT firstname, lastname, address, age FROM friends
WHERE firstname=’%s’ AND lastname=’%s'» ,
mysql_real_escape_string ( $firstname ),
mysql_real_escape_string ( $lastname ));

// Выполняем запрос
$result = mysql_query ( $query );

// Проверяем результат
// Это показывает реальный запрос, посланный к MySQL, а также ошибку. Удобно при отладке.
if (! $result ) $message = ‘Неверный запрос: ‘ . mysql_error () . «\n» ;
$message .= ‘Запрос целиком: ‘ . $query ;
die( $message );
>

// Используем результат
// Попытка напечатать $result не выведет информацию, которая в нем хранится
// Необходимо использовать какую-либо mysql-функцию, работающую с результатом запроса
// См. также mysql_result(), mysql_fetch_array(), mysql_fetch_row() и т.п.
while ( $row = mysql_fetch_assoc ( $result )) echo $row [ ‘firstname’ ];
echo $row [ ‘lastname’ ];
echo $row [ ‘address’ ];
echo $row [ ‘age’ ];
>

// Освобождаем ресурсы, ассоциированные с результатом
// Это делается автоматически в конце скрипта
mysql_free_result ( $result );
?>

Смотрите также

  • mysql_connect() — Открывает соединение с сервером MySQL
  • mysql_error() — Возвращает текст ошибки последней операции с MySQL
  • mysql_real_escape_string() — Экранирует специальные символы в строках для использования в выражениях SQL
  • mysql_result() — Возвращает данные результата запроса
  • mysql_fetch_assoc() — Возвращает ряд результата запроса в качестве ассоциативного массива
  • mysql_unbuffered_query() — Посылает запрос MySQL без авто-обработки результата и его буферизации

Источник

Resource php mysql query

mysql_query — отправляет MySQL-запрос/query.

Описание

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

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

Необязательный параметр 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 return-значение означает, что запрос был правильным и может быть выполнен на сервере. Она ничего не сообщает о количестве задействованных или возвращаемых рядов. Это отличная возможность для запроса продолжить выполнени t , не задействуя и не возвращая рядов.

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

Пример 1. mysql_query()

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

Пример 2. mysql_query()

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

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

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


Назад Оглавление Вперёд
mysql_ping Вверх mysql_real_escape_string

Источник

Resource php mysql query

mysql_query — отправляет MySQL-запрос/query.

Описание

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

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

Необязательный параметр 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 return-значение означает, что запрос был правильным и может быть выполнен на сервере. Она ничего не сообщает о количестве задействованных или возвращаемых рядов. Это отличная возможность для запроса продолжить выполнени t , не задействуя и не возвращая рядов.

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

Пример 1. mysql_query()

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

Пример 2. mysql_query()

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

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

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

Источник

Читайте также:  Php one line if isset
Оцените статью