Справочное руководство по MySQL версии 4.1.1-alpha


8.2.2 Интерфейс DBI - часть 4


$rv = $dbh->do($statement) or die "Не могу выполнить: $sth -> errstr";

Обычно использование 'do' существенно быстрей (и предпочтительней) для запросов без параметров, чем пара prepare/execute.

quote($string)

Метод quote используется для экранирования специальных символов в запросе символами экранирования, а также заключения данных в необходимые внешние символы цитирования (например кавычки). Пример:

$sql = $dbh->quote($string)

fetchrow_array

Этот метод выбирает очередную строку данных и возвращает ее как массив значений полей. Пример:

while(@row = $sth -> fetchrow_array) { print qw($row[0]\t$row[1]\t$row[2]\n); }

fetchrow_arrayref

Этот метод выбирает очередную строку данных и возвращает ссылку на массив значений полей. Пример:

while($row_ref = $sth -> fetchrow_arrayref) { print qw($row_ref -> [0]\t$row_ref -> [1]\t$row_ref -> [2]\n); }

fetchrow_hashref

Этот метод выбирает строку данных и возвращает ссылку на хеш, содержащий пары имя/значение. Данный метод намного менее эффективен, чем использование пописанных выше ссылок на массивы. Пример:

while($hash_ref = $sth -> fetchrow_hashref) { print qw($hash_ref -> {firstname}\t$hash_ref -> {lastname}\t$hash_ref ->{title}\n); }

fetchall_arrayref

Этот метод выдает все данные (все строки), получаемые как результат SQL-запроса. Он возвращает ссылку на массив ссылок на массивы отдельных строк. Соответственно, для обращения к этим данным нужно использовать вложенный цикл. Пример:

my $table = $sth -> fetchall_arrayref or die "$sth -> errstr\n"; my($i, $j); for $i ( 0 .. $#{$table}} ) { for $j ( 0 .. $#{$table -> [$i]} ) { print "$table -> [$i][$j]\t"; } print "\n"; }

finish

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

$rc = $sth -> finish;

rows

Возвращает число измененных/удаленных последней командой (UPDATE, DELETE и т.д.) строк. Это обычно требуется после выполнения метода execute




- Начало -  - Назад -  - Вперед -



Книжный магазин