Учебник PHP

         

LXIII. Функции MySQL

Эти функции дают доступ к серверам БД MySQL. Информацию о MySQL см. на http://www.mysql.com/

Документация по MySQL находится на http://www.mysql.com/documentation/


Требования

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


Установка

С помощью опции конфигурации --with-mysql вы включаете доступ PHP к БД MySQL. Если вы используете эту опцию без специфицирования пути к MySQL, PHP будет использовать встроенные клиентские библиотеки MySQL. В PHP4 поддержка MySQL всегда включена; Если вы не специфицируете эту опцию конфигурации, используются связанные библиотеки. Пользователи, запускающие другие приложения, которые используют MySQL (например, при запуске PHP 3 и PHP 4 как конкурирующих модулей Аpache, или auth-mysql), всегда должны специфицировать путь к MySQL: --with-mysql=/path/to/mysql. Это заставит PHP использовать клиентские библиотеки, установленные MySQL, исключая любые конфликты.

Предупреждение!
При загрузке этого расширения вместе с расширением recode могут возникать проблемы со стартом и обломом РНР. См. расширение recode.

Установка

Поведение функций MySQL определяется установками в глобальном


файле конфигурации 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_host NULLPHP_INI_ALL
mysql.default_userNULLPHP_INI_ALL
mysql.default_passwordNULLPHP_INI_ALL

Дополнительные детали и определение констант PHP_INI_* см. в ini_set().

Вот краткое описание директив конфигурации.

mysql.allow_persistent boolean

Разрешается ли постоянное соединение с MySQL.

mysql.max_persistent integer

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

mysql.max_links integer

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

mysql.default_port string

Номер порта по умолчанию TCP для использования при соединении с сервером БД, если иной порт не специфицирован. Если порт по умолчанию не специфицирован, значение получается из переменной окружения MYSQL_TCP_PORT, вхождения mysql-tcp в /etc/services или константы времени компиляции MYSQL_PORT, в указанном порядке. Win32 используют только константу MYSQL_PORT.

mysql.default_socket string

Имя сокета по умолчанию для использования при соединении с локальным сервером БД, если иное имя сокета не специфицировано.

mysql.default_host string

Хост сервера по умолчанию для использования при соединении с локальным сервером БД, если другой хост не специфицирован. Не примеряется в режиме safe mode.

mysql.default_user string

Имя пользователя по умолчанию для использования при соединении с сервером БД, если иное имя не специфицировано. Не применяется в режиме safe mode.

mysql.default_password string

Пароль по умолчанию для использования при соединении с сервером БД, если иной пароль не специфицирован. Не применяется в режиме safe mode.


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

Есть два типа ресурсов, используемых в MySQL-модуле. Первый это идентификатор ссылки для соединения с БД, второй - ресурс, содержащий результат выполнения запроса.


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

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

Таблица 2. Константы извлечения MySQL
константазначение
MYSQL_ASSOC Столбцы возвращаются в массиве, содержащем имя поля как индекс массива.
MYSQL_BOTHСтолбцы возвращаются в массиве, содержащем числовой индекс и имя поля как индекс массива.
MYSQL_NUMСтолбцы возвращаются в массиве, содержащем числовой индекс полей. Этот индекс начинается с 0, первого поля результата.
MYSQL_STORE_RESULT Специфицирует, что MySQL-результат должен буферизоваться.
MYSQL_USE_RESULTСпецифицирует, что MySQL-результат не должен буферизоваться.

Примеры

Данный пример показывает, как соединиться с БД, выполнить запрос/query, напечатать результирующие ряды и отсоединиться от БД MySQL.

Содержание раздела