|
Программирование >> Программный интерфейс приложений
Опция mysql read default file работает только в версии MySQL 3.22.10 и выше и версии DBD::mysql 1.21.06 и выше. mysql read default group=group naroe. При считывании конфигурационного файла для определения значений параметров соединения по умолчанию просматривается только группа [client]. Используя опцию mysql read default group, можно задать еше одну группу, считываемую в дополнение к группе [client]. Опция mysql read default group=dbi, например, определяет, что считываться вместе с опциями группы [client] будут и опции группы [dbi]. Приоритетность значений одного параметра, устанавливаемого в разных группах, описывается в приложении Д, Программы MySQL . Опция mysql read default group работает только в версии MySQL 3.22.10 и выше и версии DBD::mysql 1.21.06 и выше. mysql socket=soccet naroe. Эта опция определяет путь к разъему домена UNIX, используемого для подключения к компьютеру localhost (если установленный по умолчанию путь к разъему не подходит). Опция mysql read default file работает только в версии MySQL 3.22.15 и более поздних. Для определения параметров соединения интерфейс DB1 просматривает следующие переменные. Если источник данных не определен или пуст, используется значение переменной dbidsn. Если в источнике данных отсутствует имя драйвера, используется значение переменной dbi driver. Если при вызове метода connect {) не определены параметры user name или password, используются значения переменных dbi user и dbi pass соответственно. Этого однако не происходит, если значениями параметров являются пустые строки. Использование переменной dbipass несет в себе определенный риск. Именно поэтому от нее следует отказаться, если требования повышенной безопасности являются одними из самых важных. (Используя такие команды, как ps, одни пользователи могут просматривать значения переменных других.) Если же даже после исследования всех источников информации некоторые параметры соединения остаются неизвестными, интерфейс DBI использует установленные по умолчанию параметры. Так, например, если не определено имя компьютера, по умолчанию выбирается имя localhost. Если же неопределенным осталось имя пользователя, в его качестве по умолчанию используется регистрационное имя в UNIX и odbc в Windows. Значение по умолчанию пароля не устанавливается, поэтому если пароль не определен, следовательно, необходимо не задавать его вовсе. $drh = DBI->install driver ($driver name) ; Активизирует драйвер уровня DBD и возвращает для него дескриптор драйвера. Для MySQL используется имя драйвера mysql (которое должно быть записано строчными буквами). Необходимость в вызове этого метода зачастую отсутствует, поскольку интерфейс DBI активизирует соответствующий драйвер автоматически при вызове метода connect О . Хотя метод install driver () может оказаться весьма полезным при выполнении административных операций с помощью метода func(). (См. раздел Специальные административные методы MySQL .) Методы дескрипторов баз данных Описанные в этом разделе методы вызываются с помощью дескрипторов баз данных и могут использоваться после получения дескриптора с помощью вызова метода connect (). Атрибуты обработки этих методов могут задаваться в параметре %attr. Как уже отмечалось ранее, для MySQL наиболее важными являются атрибуты PrintError и RaiseError. Например, можно активизировать атрибут RaiseError для автоматического заверщения выполнения сценария при возникновении ощибки DBI в процессе обработки запроса: $rows = $dbh->do ($statement, {RaiseError => 1)); Атрибуты PrintError и RaiseError детально рассматриваются в разделе Атрибуты интерфейса DBI далее в этом приложении. $гс = $dbh->disconnect (); Обрывает соединение, связанное с заданным дескриптором. Если по заверщении работы сценария соединение все еще активно, на экран выводится предупреждение, и соединение автоматически обрывается. $rows = $dbh->do ($statement [, \%attr [, @bind values] ]) ; Подготавливает и выполняет запрос, заданный параметром $ statement. Этот метод возвращает либо число измененных строк, либо значение -I, если число строк неизвестно, либо значение undef, если в процессе выполнения имела место ощибка. Если ни одна строка изменена не была, т.е. число измененных строк равно О, возвращается строка ОЕО . Это значение также равно О, однако в контексте данного метода рассматривается как истинное. Метод do () используется чаще всего для операторов, которые не производят выборки строк, как например, DELETE, insert, REPLACE или UPDATE. Если попытаться применить его для оператора SELECT, дескриптор этого оператора не будет возвращен, что не позволит производить выборку строк. Параметр @bind values используется в тех случаях, когда оператор содержит маркеры (выделенные внутри строки запроса символом ? ). Этот параметр содержит список значений, которые связаны с маркерами. Количество значений списка должно точно соответствовать числу маркеров. Если связываемые значения определены без атрибутов, задайте на месте параметра \%attr значение undef. $гс = $dbh->ping () ; Проверяет, активно ЛИ еще соединение с сервером, и возвращает соответственно истинное или ложное значение. $sth = $dbh->prGparG ($statement [, \%attr]); Подготавливает запрос, определенный параметром $ statement, для последующего выполнения и возвращает дескриптор запроса. В дальнейщем этот дескриптор может использоваться для выполнения запроса с помощью метода execute (). $str = $dbh->quotG ($value [, $data type] ) ; Обрабатывает строку, заключая в кавычки и вьщеляя отдельные символы, которые относятся к специальным символам операторов SQL. Этот метод применяется для того, чтобы избежать возникновения ошибки синтаксиса при выполнении запроса. Строка Im happy , например, возвращается этим методом как I\m happy (без двойных кавычек). Если параметр $value имеет значение undef, он возвращается как строка NULL (без кавычек). Параметр $data type в большинстве случаев не нужен, поскольку MySQL автоматически преобразует определенные в виде строк значения запросов в другие типы. Этот параметр можно использовать как подсказку, что заданное значение относится к определенному типу Его значение DBI: : SQL integer, например, показывает, что параметр $value содержит целочисленное значение. Не рекомендуется использовать метод quote {) для значений, которые планируется вставить в запрос с помощью маркера. Интерфейс DBI автоматически обрабатывает такие значения. $ary ref = $dbh->SGlGCtall arrayrGf (Sstatement [, \%attr [, @bind values] ] ) ; Выполняет запрос, определенный параметром Istatement и возвращает результат. Этот метод комбинирует методы prepare{) , execute() и fetchall arrayref() И возвращает значение undef, если имеет место ошибка. Если параметр $ statement определяет ранее уже подготовленный оператор, этап метода prepare {) пропускается. Параметр @bind values имеет то же значение, что и для метода do ().
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |