MySQL & mSQL



DBI.pmAPI - часть 13


# $qs2 : 'Sheldon's Cycle' (включая наружные кавычки)

# Теперь обе строки годятся для использования в командах для своих

# соответствующих серверов баз данных.

DBI::rows

$number_of_rows = $statement_handle->rows;

Del: : rows возвращает число строк данных, содержащихся в описателе команды. Для DBD::mSQL и DBD::mysql эта функция дает точное число для всех команд, включая SELECT. Для многих других драйверов, которые не хранят в памяти сразу все результаты, эта функция надежно работает только для команд, не являющихся SELECT. Это следует учитывать при написании переносимых программ. Функция возвращает —1, если по какой-либо причине число строк неизвестно. Переменная $DBI: : rows выполняет ту же задачу.

Пример

use DBI;

my $db = DBI->connect('DBI:mSQL:mydata',undef,undef);

my $query = "SELECT name, date FROM myothertable WHERE name='Bob'";

my $myothertable_output = $db->prepare($query);

$myothertable_output->execute;

my $rows = $myotnertable_output->rows;

print "В таблице 'myothertable' есть $rows строк 'Воb'\n";

DBI::state

$sql_error = $handle->state;

DBI: : state возвращает код ошибки SQL SQLSTATE последней по времени ошибки DBI. В данное время DBD::mSQL и DBD^mysql сообщают 'S1000' для всех ошибок. Эта функция доступна для описателей баз данных и команд. Переменная $ОВ1: : state выполняет ту же задачу.

Пример

Use OBI;

my $db = DBI->connect('DBI:mysql:mydata','webuser','super_secret_squirгеl');

my $sql_error = $db->state;

warn("BoT последняя по времени ошибка DBI SQL: $sql_error");

DBI::trace

DBI->trace($trace_level)

DBI->trace($trace_level, $trace_file)

$handle->trace($trace_level);

$handle->trace($trace_level, $trace_file);

DBI:: trace используется в основном для отладки. Если уровень трассировки установлен равным 2, выводится полная отладочная информация. Установка уровня 0 отключает трассировку. DBI->trace осуществляет трассировку для всех описателей, a $handle->trace - только для данного описателя — базы данных или команды. При наличии в DBI- >t race или $handle->trace второго аргумента отладочная информация выводится в указанный файл. Также трассировку можно включить, установив значение переменной окружения DBI_TRACE. Если переменная окружения установлена равной числу (в настоящее время 0 или 2), включается трассировка всех описателей на этом уровне. При другом значении переменной уровень трассировки устанавливается равным 2, а само значение используется в качестве имени файла для вывода отладочной информации.




Содержание  Назад  Вперед