MySQL & mSQL



DBI.pmAPI - часть 18


$statement_handle->{type}

Непереносимый атрибут, определенный только для DBD::mSQL и DBD::mysql. Он возвращает ссылку на список типов полей, содержащихся в описателе команды. Для описателя команды, созданного не выражением SELECT, $statement_handle->{max_length} возвращает undef. Значениями списка являются целые числа, соответствующие перечислению в заголовочном файле С mysql_com.h из дистрибутива MySQL. Сейчас способа доступа к именам этих типов из DBI не существует. Но доступ к типам возможен через функцию &Mysql: : FIELD_TYPE_ * в Mysql.pm. В DBD::mysql имеется также недокументированный атрибут $statement_handle->{format_type_name} , идентичный $statement_handle- >{type} , за исключением того, что вместо целых чисел возвращает SQL-названия типов. Следует подчеркнуть, что это недокументированный атрибут, и автор DBD::niysql высказал свое намерение убрать его, как только в DBI будет реализована такая же функция.

$statement_handle->{CursorName}

$handle->{l_ongReadLen}

$handle->{l_ongTruncOk}

$handle->{CompatMode}

Все эти атрибуты не поддерживаются в DBD::mSQL и DBD::mysql. Присвоение им значений ничего не даст, а чтение возвратит 0 или undef. Исключение составляет атрибут $statement_handle->{CursorName} . В настоящее время любое обращение к нему «убьет» программу.

Пример

use DBI;

my $db = DBI->connect('mysql:mydata','me','mypassword');

$db->{RAISE_ERROR} = 1;

# Теперь любая ошибка DBI/DBD убьет программу.

my $statement_handle = $db->prepare('SELECT * FROM mytable');

$statement_handle->execute;

my @fields = @{$statement_handle->{NAME}};

# @fields содержит теперь список с именами всех полей в 'mytable'.




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