MySQL & mSQL




Msql.pm API - часть 12


$db->selectdb('mydata');

my Soutput = $db->query('select name, date from myothertable');

print "Самое длинное имя имеет длину " . $ouput->maxlength->[0] . " символов,\n";

Msql::Statement::name

@column_names = $statement_handle->name;

Msql:: Statement:: name возвращает имена колонок данных, содержащихся в описателе команды. При вызове в скалярном контексте функция возвращает ссылку на массив. Как и для Msql::Statement::table , скалярное значение этого списка (в противоположность значению функции при вызове в скалярном контексте) совпадает со значением Msql::Statement::numfields

Пример

use Msql;

my $db = Msql->connect;

$db->selectdb('mydata');

my $output = $db->query("select * from mytable");

my @column_names = $output->names;

# Теперь @column_names - список колонок 'mytable'

Msql::Statement::numfields

$number_of_fields = $statement_handle->numfields;

Msql:: Statement: : numf ields возвращает число полей в каждой строке результирующих данных, содержащихся в описателе команды. Во всех выходных данных есть хотя бы одно поле, поэтому данная функция возвращает положительное число для всех определенных описателей команд.

Пример

use Msql;

my $db = Msql->connect;

$db->selectdb('mydata');

my $output = $db->query("select * from mytable");

my $numfields = $output->numfields;

my $numrows = $output->numrows;

print "В каждой строке таблицы 'mytable' $numfields полей \n";

print "Всего имеется Snumrows строк данных. Поэтому 'mytable'\n";

print "содержит" . ($numfields*$numrows) . " элементов данных.\n";

Msql::Statement::numrows

$number_of_rows = $statement_handle->numrows;

Msql: : Statement: : numrows возвращает число строк, содержащихся в описателе команды. Для описателя, который не может содержать строк, например, возвращаемого Msql: :listfields , функция возвращает строку 'N/A.' Если описатель может содержать строки, но их нет - например, он возвращен SELECT, для которого не найдено соответствия, -функция возвращает 0.




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