Программирование >>  Программный интерфейс приложений 

1 ... 244 245 246 [ 247 ] 248 249 250 ... 264


Программы управления соединением

Описываемые в этом разделе функции используются для открытия и закрытия соединений с сервером MySQL.

int mysql close {[int link id] ) ; Закрывает соединение с сервером MySQL, определенное идентификатором link id. Если идентификатор соединения не задан, функция mysql close {) закрывает соединение, открытое последним.

Функция mysql close{) возвращает значение True в случае успещного заверщения операции и значение False , если имела место ощибка. Постоянные соединения, открытые с помощью функции mysql pconnect (), функция mysql close () пропускает, однако возвращает значение True . Поэтому если планируется в будущем закрыть новое соединение, рекомендуется открыть его с помощью функции mysql connect (), а не с mysql pconnect ().

<?php

$link = mysql pconnect ( pit-viper.snake.net , paul , secret )

or die ( Невозможно установить соединение ); print ( Соединение установлено успешно ); mysql close ($link);

?>

int mysql connect ([string host name] [, string user name [, string password]]); Открывает для пользователя user name с заданным паролем password соединение с сервером MySQL, установленным на компьютере liost name. Возвращает идентификатор связи (положительное число), указывающий на новое соединение. В случае возникновения ощибки возвращает значение False .

В версии РНР 3.0В4 и более поздних параметр имени компьютера можно (но не необязательно) определять с номером порта, используя синтаксис host пате.port пит . В версии РНР 3.0.10 и более поздних имя компьютера localliost можно (но необязательно) определять, указав разъем домена UNIX, используя синтаксис \ocdi\hosV.socket name . Путь к разъему должен быть полным.

Если параметр имени компьютера отсутствует, по умолчанию используется имя localliost. Если же отсутствует или пуст параметр имени пользователя, по умолчанию выбирается пользователь, от имени которого запущен РНР. (Если РНР работает как модуль Apache, то выбирается пользователь, с полномочиями которого работает Web-сервер.) Если отсутствует или имеет пустое значение параметр пароля, отправляется пустой пароль.

Если функция mysqlconnect () вызывается с параметрами (имя компьютера, имя пользователя и пароль) уже существующего от-



крытого соединения, новое соединение не устанавливается. Функция mysqlconnect {) просто возвращает существующий идентификатор связи.

Для закрытия открытого ранее соединения можно воспользоваться функцией mysqlclose О. Открытое соединение закрывается автоматически при заверщении работы сценария.

<?php

$link = mysql connect ( pit-viper.snake.net , paul , secret )

or die ( Невозможно установить соединение ); print ( Соединение установлено успешно ); mysql close (?link);

?>

int mysql pconnect ([string host name] [, string user name [, string password]]); Функция mysql pconnect () аналогична функции mysqlconnect () с той лишь разницей, что открывает постоянное соединение. Соответственно, такое соединение остается открытым даже после завершения работы сценария. Если функция mysql pconnect () вызывается с параметрами (имя компьютера, имя пользователя и пароль) уже существующего открытого соединения, это соединение используется повторно. Это позволяет избежать закрытия и повторного открытия соединений и является более эффективным, чем использование непостоянных соединений.

Использовать постоянные соединения есть смысл только в том случае, когда РНР выполняется как модуль внутри Web-сервера, который, в свою очередь, продолжает работу после заверщения работы сценария РНР. Если же сценарий выполняется отдельной версией РНР, соединение закрывается при завершении работы сценария, поскольку процесс РНР также завершает свою работу.

Вызывать функцию mysqlclose () для постоянного соединения . бессмысленно. Эта функция возвращает значение True , оставляя соединение открытым.

<?php

$link = mysql connect ( pit-viper.snake.net , paul , secret )

or die ( Невозможно установить соединение ); print ( Соединение установлено успешно );

?>

Программы состояния и диагностики ошибок

Функции mysql errno () И mysql error () возвращают числовой код и информационное сообщение об ошибке в работе связанных с MySQL функций РНР. Однако эта информация становится доступной только после задания функциям верного идентификатора связи. Другими



словами, эти функции не могут использоваться для получения информации о результатах безуспешного завершения вызовов функций mysql connect () или mysql pconnect {), поскольку идентификатор связи становится доступным только после успешного установления соединения. Чтобы получить сообшение об ошибке MySQL при установлении соединения, акгивизируйте переменную track errors посредством установки ее в файле инициализации РНР: track errors = On;

После этого обязательно перезапустите свой Web-сервер, если РНР работает как модуль Apache. Это позволит получить сообшение об ошибке при попытке установления соединения, сославшись на переменную

$php errormsg:

<?php

$link = @mysql connect( badhost , baduser , badpass ) or dxe ( Невозможно установить соединение: . Sphp errormsg); prxnt ( Соединение установлено успешно );

?>

int mysql errno ([int link id] ) ; Возврашает код ошибки для связанной с заданным соединением MySQL функции, которая последней возврашала значение состояния. Нулевой код указывает на отсутствие ошибки.

<?php

Slink = mysql pconnect ( pxt-vxper.snake.net , paul ,

secret )

or dxe ( Невозможно установить соединение ); prxnt ( Соединение установлено успешно ); Squery = SELECT * FROM presxdent ; Sresult = mysql query (Squery)

or die ( запрос не выполнен, код ошибки = . mysql errno ()); ?>

int mysql error ([int link id] ); Возврашает строку с сооб-шением об ошибке для связанной с заданным соединением MySQL функции, которая последней возврашала значение состояния. Пустая строка указывает на отсутствие ошибки.

<?php

Slink = mysql pconnect ( pit-vxper.snake.net , paul ,

secret )

or dxe ( Невозможно установить соединение ); print ( Соединение установлено успешно ); Squery = SELECT * FROM presxdent ; Sresult = mysql query (Squery)

or die ( запрос не выполнен, сообщение об ошибке = . mysql error ());

?>



1 ... 244 245 246 [ 247 ] 248 249 250 ... 264

© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки.
Яндекс.Метрика