П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 4095 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 6756 раз(а).

Учебник HTML.
Просмотров 3717 раз(а).

Руководство по PHP5.
Просмотров 5990 раз(а).

Хостинг через призму DNS.
Просмотров 4809 раз(а).

Подборка текстов стандартных документов.
Просмотров 56244 раз(а).

Учебник PHP - Самоучитель
Просмотров 3701 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 8334 раз(а).

Внешние атаки...
Просмотров 4563 раз(а).

Учебник PHP.
Просмотров 3172 раз(а).

SSI в примерах.
Просмотров 175 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Руководство по PHP
Пред. След.

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

Введение

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

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

Требования

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

Установка

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

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

В PHP 5 поддержка 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 целое

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

mysql.max_links целое

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

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

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

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

Начиная с PHP 4.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

<?php
    
/* Соединяемся, выбираем базу данных */
    
$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


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту:
 





Copyright © 2005-2016 Project.Net.Ru