Функции PHP для работы с MySQL

Опубликовал: Sunday, January 6, 2024 в категории AJAX, PHP | Пока нет комментариев

Рассмотрим основные функции API для работы с MySQL из PHP-скриптов.

mysql_connect

Открывает соединение с сервером MySQL и возвращает его указатель или false

при неудаче. Синтаксис функции:

resource mysql_connect([ string $server [, string $username [,string $password]]])

Это урезанный вариант синтаксиса функции mysql_connect(). Здесь рассмотрены три основные строковые (string) переменные, которых обычно хватает для работы.

$server — сокет (хост), к которому производится подключение. Значение переменной не имеет никакого отношения к домену вашего сайта. Название и порт

$server зависят от настроек самого сервера. Обычно эта переменная имеет значение localhost, что можно изменить в настройках PHP;

$username — имя пользователя владельца процесса сервера;

$password — пароль владельца процесса сервера.

mysql_close

Закрывает соединение с сервером MySQL. Синтаксис функции:

bool mysql_close ([resource link_identifier])

Возвращает true в случае успешного завершения, false при возникновении ошибки. mysql_close() закрывает соединение с базой данных MySQL, на которое указывает переданный указатель. Если параметр link_identifier не указан, закрывается последнее открытое (текущее) соединение. Непостоянные соединения

автоматически закрываются в конце скрипта и mysql_close() не требуется.

mysql_select_db

Выбирает базу данных MySQL. Синтаксис функции:

bool mysql_select_db (string database_name [, resource link_identifier])

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

mysql_query

Посылает запрос MySQL. Синтаксис функции:

resource mysql_query ( string query [, resource link_identifier])

mysql_query() посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Если параметр link_identifier опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров. Результат запроса буферизируется. Только для запросов SELECT, SHOW, EXPLAIN и DESCRIBE, mysql_query() возвращает указатель на результат запроса, или false, если запрос не был выполнен. В остальных случаях, mysql_query() возвращает true при успешном запросе и false в случае ошибки. Значение, не равное false, свидетельствует лишь о том, что запрос был выполнен успешно, но не говорит о количестве затронутых или возвращенных рядов. Вполне возможна ситуация, когда успешный запрос не затронет ни одного ряда.

mysql_fetch_row

Обрабатывает ряд результата запроса и возвращает неассоциативный массив.

Синтаксис функции:

array mysql_fetch_row (resource result)

Возвращает массив, содержащий данные обработанного ряда, или false, если рядов больше нет. mysql_fetch_row() обрабатывает один ряд результата, на который ссылается переданный указатель. Ряд возвращается в массиве. Каждая колонка располагается в следующей ячейке массива. Массив начинается с нулевого индекса. Последующие вызовы функции mysql_fetch_row() вернут следующие ряды или false, если рядов не осталось.

mysql_fetch_assoc

Обрабатывает ряд результата запроса и возвращает ассоциативный массив. Синтаксис функции:

array mysql_fetch_assoc (resource result)

Возвращает ассоциативный массив с названиями индексов, соответствующими названиям колонок или false, если рядов больше нет. Функция mysql_fetch_assoc() аналогична вызову функции mysql_fetch_array() со вторым параметром, равным MYSQL_ASSOC. Функция возвращает только ассоциативный массив. Если вам нужны как ассоциативные, так и численные индексы в массиве, обратитесь к функции

mysql_fetch_array(). Если несколько колонок в запросе имеют одинаковые имена, значение ключа массива с индексом названия колонок будет равно значению последней из колонок. Важно знать, что mysql_fetch_assoc() работает не медленнее, чем mysql_fetch_row(), предоставляя более удобный доступ к данным.

mysql_fetch_array

Обрабатывает ряд результата запроса, возвращая ассоциативный массив, численный массив или оба. Синтаксис функции:

array mysql_fetch_array (resource result [, int result_type])

Возвращает массив с обработанным рядом результата запроса, или false, если рядов больше нет. mysql_fetch_array() — это расширенная версия функции mysql_fetch_row(). В дополнение к хранению значений в массиве с численными индексами, функция возвращает значения в массиве с индексами по названию колонок. Важно знать, что mysql_fetch_array() работает не медленнее, чем mysql_fetch_row() и предоставляет более удобный доступ к данным.

mysql_result

Возвращает данные результата запроса. Синтаксис функции:

mixed mysql_result (resource result, int row [, mixed field])

mysql_result() возвращает значение одной ячейки результата запроса. Аргументом поля может быть смещение, имя поля, или имя поля и имя таблицы через точку (tablename.fieldname). Работая с большими результатами запросов, следует использовать одну из функций, обрабатывающих сразу целый ряд результата. Так как эти функции возвращают значение нескольких ячеек сразу, они намного быстрее mysql_result(). Вызовы функции mysql_result() не должны смешиваться с другими функциями, работающими с результатом запроса.

mysql_num_rows

Возвращает количество рядов результата запроса. Синтаксис функции:

int mysql_num_rows (resource result) mysql_num_rows() работает только с запросами SELECT.

mysql_insert_id

Возвращает ID, сгенерированный при последнем запросе INSERT. Синтаксис функции:

int mysql_insert_id ([resource link_identifier])

mysql_insert_id() возвращает ID, сгенерированный колонкой с AUTO_INCREMENT последним запросом INSERT к серверу, на который ссылается переданный функции указатель link_identifier. Если параметр link_identifier не указан, используется последнее открытое соединение. mysql_insert_id() возвращает 0, если последний запрос не работал с полями AUTO_INCREMENT. Если вам нужно сохранить значение, убедитесь, что mysql_insert_id() вызывается сразу после запроса.

Источник: Петин В. А., Сайт на AJAX под ключ. Готовое решение для интернет-магазина. — СПб.: БХВ-Петербург, 2011. — 432 с.: ил. + CD-ROM — (Профессиональное программирование)

Похожие посты:

Комментировать

Your email address will not be published. Required fields are marked *