MySQL & mSQL



DBI.pmAPI - часть 9


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

$myothertable_output->execute;

my ($name, $date);

# Это первая строка из $myothertable_output.

($name, $date) = $myothertable_output->fetchrow_array;

# Это следующая строка...

($name, $date) = $myothertable_output->fetchrow_array;

# И еще одна...

my @name_and_date = $myothertable_output->fetchrow_array;

# и т.д.....

DBI::fetchrow_arrayref, DBI::fetch

$аrrау_rеГегепсе = $statement_handle->fetchrow_arrayref;

$array_reference = $statement_handle->fetch;

DBI: : fetchrow_arrayref и ее псевдоним DBI: :fetch работают точно так же, как DBI: :fetchrow_array , но возвращают не фактический массив, а ссылку на него.

Пример

use DBI;

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

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

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

$myothertable_output->execute;

my $name1 = $myothertable_output->fetch->[0]

# Это поле 'name' из первой строки данных,

my $date2 = $myothertable_output->fetch->[1]

# Это поле 'date' из второй строки данных.

my ($name3, $date3) = @{$myothertable_output->fetch};

# Это целиком третья строка данных.

$myothertable_output->fetch

# возвращает ссылку на массив. Можно 'преобразовать' ее в действительный

# массив, используя конструкцию @{}.

DBI::fetchrow_hashref

$hash_reference = $statement_handle->fetchrow_hashref;

DBI: :fetchrow_hashref работает так же, как OBI: :fetchrow_arrayref , но возвращает ссылку на ассоциативный, а не на обычный массив. Ключами хэша являются имена полей, а значениями - значения в этой строке данных.

Пример

use DBI;

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

my $query = "SELECT * FROM mytable";

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

$mytable_output->execute;

my %row1 = $mytable_ouput->fetchrow_hashref;

my @field_names = keys %row1;

# @field_names содержит теперь имена всех полей в запросе.




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