11111

Функции СУБД MySQL

Пред.

След.

LXXXII. Функции СУБД MySQL

Введение

- Расширение позволяет вам работать с СУБД MySQL. За информацией о MySQL обращайтесь к http://www.mysql.com/.

- Документация MySQL находится по адресу http://dev.mysql.com/doc/.

Требования

- Чтобы работать с функциями, вы должны скомпилировать PHP с поддержкой MySQL.

Установка

- Используя директиву --with-mysql[=DIR] вы можете включить в PHP поддержку СУБД MySQL.

- В PHP4, директива --with-mysql включена по умолчанию. Чтобы отключить её, используйте директиву конфигурации --without-mysql. Кроме того, в PHP4, при включении директивы без указания пути к папке установки MySQL, PHP будет использовать встроенную библиотеку MySQL-клиента. В Windows специальные DLL отсутствуют, клиент всегда встроен в PHP4. При использовании приложений использующих MySQL (к примеру, auth-mysql) не стоит использовать встроенную библиотеку -- укажите путь к папке установки MySQL, что будет выглядеть примерно так: --with-mysql=/path/to/mysql. Это заставит PHP использовать библиотеку, установленную MySQL, что позволит избежать любых конфликтов.

- В PHP5 поддержка MySQL больше не включена по умолчанию, кроме того в нём отсутствует встроенная библиотека-клиент. Подробнее о причине можно прочитать в - FAQ.

- Расширение работает с MySQL версий >= 4.1.0, но не эксплуатирует всю возможную функциональность этих версий. Для этого используйте MySQLi.
Внимание
- Сбои в работе PHP могут иметь место при загрузке совместно этого расширения и расширения для работы с библиотекой GNU Recode. За дополнительной информацией обращайтесь к разделу о расширении для recode.

Замечание: Если вам требуется поддержка кодировок (отличных от latin, установленной по умолчанию), вам придётся установить внешнюю библиотеку, скомпилированную с их поддержкой.

Настройка во время выполнения

-Поведение этих функций зависит от установок в php.ini.

Таблица 1. Директивы конфигурации MySQL
ИмяЗначение по умолчаниюОбласть изменения
mysql.allow_persistent"On"PHP_INI_SYSTEM
mysql.max_persistent"-1"PHP_INI_SYSTEM
mysql.max_links"-1"PHP_INI_SYSTEM
mysql.default_portNULLPHP_INI_ALL
mysql.default_socketNULLPHP_INI_ALL
mysql.default_hostNULLPHP_INI_ALL
mysql.default_userNULLPHP_INI_ALL
mysql.default_passwordNULLPHP_INI_ALL
mysql.connect_timeout"0"PHP_INI_SYSTEM

За дальнейшей информацией и значениями PHP_INI_* констант обращайтесь к ini_set().

Краткое разъяснение конфигурационных

директив.

mysql.allow_persistent логическое

- Позволять ли постоянные соединения с MySQL.

mysql.max_persistent целое

Максимальное количество постоянных соединений на 1 процесс.

mysql.max_links целое

- Максимальное количество соединений с MySQL на 1 процесс, включая постоянные соединения.

mysql.default_port строка

- TCP-порт, используемый для соединения с базой данных по умолчанию (если не был указан другой). Если эта директива опущена, порт будет взят из переменной среды MYSQL_TCP_PORT, значения mysql-tcp в /etc/services или константы MYSQL_PORT, указанной при компиляции, в указанном порядке. Win32 использует только константу MYSQL_PORT.

mysql.default_socket строка

- Тип сокета, используемого для соединения с локальной базой данных, если не был указан другой.

mysql.default_host строка

- Адрес сервера, используемый для соединения с базой данных, если не указан другой. Не работает в безопасном режиме.

mysql.default_user строка

- Имя пользователя, используемое для соединения с базой данных, если не указано другое. Не работает в безопасном режиме.

mysql.default_password строка

- Пароль, используемый для соединения с базой данных, если не указан другой. Не работает в безопасном режиме.

mysql.connect_timeout целое

- Время ожидания овета до разрыва соединения в секундах. Linux также использует это значение при ожидании первого ответа от сервера.

Типы ресурсов

- Модуль MySQL исползует два дополнительных типа указателей. 1-й является указателем на соединение с базой данных, второй указывает на ресурс, содержащий результат запроса.

Предопределенные константы

-Перечисленные ниже константы определены данным расширением и могут быть

доступны только в том случае, если PHP был собран с

поддержкой этого расширения или же в том случае, если

данное расширение подгружается во время выполнения.

- Начиная с PHP4.3.0 можно указать дополнительные флаги для функций mysql_connect() и mysql_pconnect() functions. Предопределены следующие константы:

Таблица 2. MySQL константы
константаописание
MYSQL_CLIENT_COMPRESSиспользовать протокол сжатия
MYSQL_CLIENT_IGNORE_SPACEПозволяет вставлять пробелы после имён функций
MYSQL_CLIENT_INTERACTIVEЖдать interactive_timeout секунд (виесто wait_timeout) бездействия, до закрытия соединения.

- Функция mysql_fetch_array() использует константы для определения типа возвращаемого массива. Предопределены следующие константы:

Таблица 3. Константы выборки MySQL
константаописание
MYSQL_ASSOC- Результат возвращается в ассоциативном массиве с индексами под именами колонок.
MYSQL_BOTH- Результат возвращается в массиве, содержащем как численные индексы, так и индексы под именами колонок.
MYSQL_NUM- Результат возвращается в массиве, содержащем численные индексы. Индексы стартуют с 0 (0 содержит первую колонку).

Примеры

- Этот пример показывает, как соединиться с базой данных, выполнить запрос, распечатать результат и отсоединиться.

Пример 1. Пример работы с MySQL

<?

/*Соединяемся, выбираем базу данных*/

$link = mysql_connect("mysql_host", "mysql_user", "mysql_password")

or die("Could not connect : " . mysql_error());

print "Connected successfully";

mysql_select_db("my_database") or die("Could not select database");

/*Выполняем SQL-запрос*/

$query = "SELECT * FROM my_table";

$result = mysql_query($query) or die("Query failed : " . mysql_error());

/*Выводим результаты в html*/

print "<table>\n";

while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {

print "\t<tr>\n";

foreach ($line as $col_value) {

print "\t\t<td>$col_value</td>\n";

}

print "\t</tr>\n";

}

print "</table>\n";

/*Освобождаем память от результата*/

mysql_free_result($result);

/*Закрываем соединение*/

mysql_close($link);

?>

Содержание

mysql_affected_rows -- Возвращает число затронуиых прошлой операцией рядов.

mysql_change_user -- Изменяет пользователя для указанного соединения.

mysql_client_encoding -- Возвращает кодировку соединения

mysql_close -- Закрывает соединение с сервером MySQL

mysql_connect -- Открывает соединение с сервером MySQL

mysql_create_db -- Создаёт базу данных MySQL

mysql_data_seek -- Перемещает внутренний указатель в результате запроса

mysql_db_name -- Возвращает название базы данных

mysql_db_query -- Переключается к указанной базе данных и посылает запрос

mysql_drop_db -- Уничтожает базу данных MySQL

mysql_errno -- Возвращает численный код ошибки выполнения последней операции с MySQL

mysql_error -- Возвращает строку ошибки последней операции с MySQL.

mysql_escape_string -- Экранирует SQL спец-символы для mysql_query.

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

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

mysql_fetch_field -- Возвращает информацию о колонке из результата запроса в виде объекта.

mysql_fetch_lengths -- Возвращает длину каждого поля в результате.

mysql_fetch_object -- Обрабатывает ряд результата запроса и возвращает объект

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

mysql_field_flags -- Возвращает флаги указанного поля результата запроса.

mysql_field_len -- Возвращает длину указанного поля.

mysql_field_name -- Возвращает название указанной колонки результата запроса.

mysql_field_seek -- Устанавливает внутренний указатель поля на переданное смещение.

mysql_field_table -- Возвращает название таблицы, которой принадлежит указанное поле.

mysql_field_type -- Возвращает тип указанного поля результата запроса.

mysql_free_result -- Освобождает память от результата запроса

mysql_get_client_info -- Возвращает данные о MySQL-клиенте

mysql_get_host_info -- Возвращает информацию о соединении с MySQL

mysql_get_proto_info -- Возвращает информацию о протоколе MySQL

mysql_get_server_info -- Возвращает информацию о сервере MySQL

mysql_info -- Возвращает информацию о последнем запросе

mysql_insert_id -- Возвращает ID, сгенерированный при последнем INSERT-запросе.

mysql_list_dbs -- Возвращает список баз данных, доступных на сервере.

mysql_list_fields -- Возвращает список колонок таблицы

mysql_list_processes -- Возвращает список процессов MySQL

mysql_list_tables -- Возвращает список таблиц базы данных MySQL

mysql_num_fields -- Возвращает количество полей результата запроса

mysql_num_rows -- Возвращает количество рядов результата запроса

mysql_pconnect -- Устанавливает постоянное соединение с сервером MySQL.

mysql_ping -- Проверяет соединение с сервером и пересоединяется при необходимости

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

mysql_real_escape_string -- Экранирует специальные символы в строке, используемой в SQL-запросе, принмимая во внимание кодировку соединения.

mysql_result -- Возвращает данные результата запроса

mysql_select_db -- Выбирает базу данных MySQL

mysql_stat -- Возвращает текущий статус сервера

mysql_tablename -- Возвращает имя таблицы, содержащей указанное поле

mysql_thread_id -- Возвращает ID текущего потока

mysql_unbuffered_query -- Посылает MySQL SQL-запрос без авто-обработки результата и её буфферизации.

Пред.

Начало

След.

muscat_setup

Уровень выше

mysql_affected_rows 22222

Free Web Hosting