| |
тому или иному условию, или же выбрать из данных только первые 10 записей.
Механизм использования сокетов подразумевает технологию клиент-сервер, а это
означает, что в системе должна быть запущена специальная программа — MySQL-
сервер, которая принимает и обрабатывает запросы от программ. Так как вся
работа
происходит в действительности на одной машине, накладные расходы по работе с
Часть IV. Стандартные функции PHP 364
сетевыми средствами незначительны (установка и поддержание соединения с
MySQL-сервером обходится довольно дешево).
Как я уже говорил, структура MySQL трехуровневая: базы данных — таблицы —
записи. Один сервер MySQL может поддерживать сразу несколько баз данных, дос-
туп к которым может разграничиваться логином и паролем. Зная эти логин и пароль,
можно работать с конкретной базой данных. Например, можно создать или удалить в
ней таблицу, добавить записи и т. д. Обычно имя-идентификатор и пароль назнача-
ются хостинг-провайдерами, которые и обеспечивают поддержку MySQL для своих
пользователей.
Соединение с базой данных
Но прежде чем работать с базой данных, необходимо установить с ней сетевое
соеди-
нение, а также провести авторизацию пользователя. Для этого служит функция
mysql_connect().
int mysql_connect([string $hostname] [,string $username]
[,string $password])
Функция mysql_connect() устанавливает сетевое соединение с базой данных
MySQL, расположенной на хосте $hostname (по умолчанию это localhost, т. е.
текущий компьютер), и возвращает идентификатор открытого соединения. Вся даль-
нейшая работа ведется именно с этим идентификатором. При регистрации указывает-
ся имя пользователя $username и пароль $password (по умолчанию имя пользова-
теля, от которого запущен текущий процесс, и пустой пароль). Строка $hostname
также может включать в себя номер порта в формате: имя_хоста:порт (если сервер
MySQL настроен не на стандартный, а на какой-то другой порт, что делать, вообще
говоря, не рекомендуется).
При следующем запуске функции с теми же самыми аргументами второе соединение
не будет открыто, а функция возвратит идентификатор уже существующего. Соедине-
ние с MySQL-сервером будет автоматически закрыто по завершении работы сцена-
рия, либо же при вызове функции mysql_close(). Если вы планируете открывать
только одно соединение с базой данных за все время работы сценария, то можете
не
сохранять возвращенное значение, а также не указывать идентификатор соединения
при вызове всех остальных функций.
int mysql_select_db(string $dbname [,int $link_identifier])
До того как послать первый запрос серверу MySQL, необходимо указать, с какой
ба-
зой данных мы собираемся работать. Для этого и предназначена описываемая функ-
ция. Она уведомляет PHP, что в дальнейших операциях с соединением
$link_identifier (или с последним открытым соединением, если указанный па-
раметр не задан) будет использоваться база данных $dbname.
Глава 26. Работа с базой данных MySQL 365
Обработка ошибок
Если в процессе работы с MySQL возникают ошибки (например, в запросе не сбалан-
сированы скобки или же не хватает параметров), то сообщение об ошибке и ее
номер
можно получить с помощью следующих двух функций.
int mysql_errno([int $link_identifier])
Функция возвращает номер последней зарегистрированной ошибки. Идентификатор
соединения $link_identifier можно не указывать, если за время работы сценария
было установлено
|
|