|
Программирование >> Программный интерфейс приложений
По умолчанию он имеет значение name . В этой связи может возникнуть проблема, поскольку регистр символов в именах столбцов не учитывается в запросах, но учитывается в именах ключей хэша. Чтобы определить запись имен ключей символами нижнего или верхнего регистра, задайте значение аргумента $name как name lc или name uc соответственно. Чтобы отличить нормальное завершение от появления ошибки, достаточно проверить значение метода $sth->err О . Нулевое значение отражает нормальное завершение, а соответственно и отсутствие ошибки. $гс = $sth->finish (); Освобождает все ресурсы, связанные с дескриптором оператора. Как правило, особая необходимость в вызове этого метода отсутствует. Однако если выбрана только часть результирующего набора, вызов метода finish () позволит интерфейсу DBI понять, что выборка данных завершена. Вызов метода finish {) может аннулировать атрибуты оператора. Поэтому лучше всего получить доступ к ним сразу после вызова метода execute (). $rv = $sth->rows О; Возвращает число строк, измененных заданным с помощью дескриптора $sth оператором, либо значение -1, если имела место ошибка Этот метод применяется чаще всего для операторов, которые не возвращают строки. Полагаться на метод rows () для операторов select не стоит. В подобных случаях необходимо подсчитать количество выбранных строк. Методы общих дескрипторов Описанные в этом разделе методы не относятся к каким-либо отдельным типам дескрипторов и могут вызываться с помощью дескриптора драйвера, базы данных или оператора. $h->err () ; Возвращает числовой код ошибки для последней операции драйвера. Значение О указьшает на отсутствие ошибки. $h->errstr О; Возвращает строку сообщения об ошибке для последней операции драйвера. Пустая строка указывает на отсутствие ошибки. DBI->trace ($trace level [, $trace filename]); $h->trace ($trace level [, $trace filename]); Устанавливает уровень трассировки, которая обеспечивает информацию о взаимодействии интерфейса DBI. Уровень трассировки может задаваться в диапазоне от О (отключено) до 9 (максимальный объем информации). Трассировку можно активизировать для всех опера- ций DBI внутри сценария, вызвав этот метод как метод классов интерфейса DBI, или для отдельного дескриптора. DBl->trace (2); Активизация трассировки внутри сценария. $sth->trace (2); Активизация трассировки для дескриптора. Установив переменную среды DBI TRACE, можно выполнять трассировку на глобальном уровне для всех сценариев DBI. Протоколируемая информация по умолчанию записывается в STDERR. Для прямого вывода ее в отдельный файл можно задать имя файла с помощью параметра $filename. Новая информация будет добавляться к существующему содержимому файла. При каждом вызове этого метода информация обо всех дескрипторах заносится в один файл. Если имя этого файла определено пользователем, то именно в него выполняется запись. Во всех остальных случаях данные записываются в stderr. DBI->trace msg {$str [, $min level]) $h->trace msg ($str [, $min level]). Записывает сообщение в данные трассировки, если трассировка выполняется для отдельного дескриптора, либо на уровне интерфейса DBI. В последнем случае метод trace msg () может вызываться как DBI->trace msg (). С помощью параметра $min level можно определить минимальный уровень трассировки, при достижении которого будут записываться сообщения. Специальные административные методы MySQL Этот раздел посвящен методу f unc (), который используется в интерфейсе DBI как средство непосредственного доступа к специальным операциям драйвера. $гс = $drh->func{createdb, $db name, $host name, $user name, $password, admm); $rc = $drh->func(dropdb, $db naiiie, $host name, $user name, $password, admm); $rc = $drh->func(shutdown, $host name, $user name, $password, admin); $rc = $drh->func(reload, $host name, $user name, $password, admin); $rc = $dbh->func ( createdb , db name, admm); $rc = $dbh->func(dropdb, db name, admin); $rc = $dbh->func(shutdown, admin); $rc = $dbh->func(reload, admin); Метод func () может вызываться с помощью дескриптора драйвера либо дескриптора базы данных. Дескриптор драйвера не связан с открытым соединением, поэтому если метод func () задается именно с его помощью, необходимо определить соответствующие операторы с именем компьютера и пользователя и паролем. Только наличие всех этих данных позволит методу установить соединение. Если же доступ с помощью метода func () обеспечивается через дескриптор базы данных, необходимость в этих аргументах отпадает. Дескриптор драйвера можно получить в случае необходимости следующим образом: $drh = DBI->install driver( mysql ); # (аргумент mysql должен быть записан прописными буквами) createdb. Создает базу данных с именем $db name. Для выполнения этой операции пользователь должен обладать привилегией create. dropdb. Удаляет базу данных с именем $db name. Для выполнения этой операции пользователь должен обладать привилегией drop. Эту опцию следует использовать с особой осторожностью, поскольку восстановить удаленную базу данных невозможно. shutdown. Завершает работу сервера. Для выполнения этой операции пользователь должен обладать привилегией shutdown. reload. Указывает серверу перезагрузить таблицы разрешений. Эта операция необходима, если содержимое таблиц изменяется непосредственно с помошью операторов delete, insert или update, а не посредством обычных операторов grant и revoke. Для выполнения этой операции пользователь должен обладать привилегией reload. функции утилит интерфейса DBI Описываемые в этом разделе функции необходимо вызывать с помощью синтаксиса dbi : : f unc name (), а не dbi->f unc name (). @bool = dbi::looks likG numbGr (@array). Считывает список значений и возвращает массив с одним членом для каждого элемента списка. Каждый член массива, в свою очередь, отражает, выглядит ли соответствующий аргумент как число. Соответственно, член массива имеет истинное значение, если аргумент выглядит как число, и значение undef, если аргумент не выглядит так или вовсе пуст. $str = DBl::nGat ($value [, $maxlen] ) ; Возвращает строку с отформатированным представлением аргумента $value. Строки
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки. |