MySQL & mSQL



Msql.pm API - часть 9


# Msql::query.

my (%data_row);

print ]oin("", ©fields), "\n';

print "-"x70;

print join("", values(%first_data_row);

print join("", values(%data_row)) while %data_row = $mytable_output-

>fetchhash;

# Таким образом распечатывается вся таблица, хотя и в невыравненном

# формате.

Msql::Statement::fetchrow

@row_of_data = $statement_handle->fetch row;

Msql:: Statement: : fetch row возвращает очередную строку данных из описателя команды, созданного Msql:.-query. Каждое последующее обращение к Msql: Statement: :fetchrow возвращает очередную строку данных. Когда данных больше нет, функция возвращает неопределенное значение undef. Элементы в результирующем массиве упорядочены в соответствии с исходным запросом. Если запрос имел вид SELECT*FROM ... , то элементы упорядочиваются в соответствии с последовательностью определения полей в таблице.

Пример

use Msql;

my $db = Msql->connect;

$db->selectdb('mydata');

my $query1 = "SELECT * FROM mytable";

my $query2 = "SELECT name, date FROM myothertable WHERE name LIKE

'Bob%'";

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

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

my $i = 0;

# Чтение строк данных будет продолжаться,

# пока их больше не останется.

while (my(@mytable_rows)=$mytable_output->fetcnrow) {

print "Строка ",$i++,": ".join(', ',@mytable_rows)."\n";

# Если неизвестна структура таблицы 'mytable',

# нельзя узнать число элементов в @mytable_rows или их порядок.

}

my (Sname, $date);

# Это первая строка данных в $myotrertable_output.

($name, $datc) = $myothertaPle_output->fetchrow;

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

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

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

my @name_and_date = $myothertable_output->fetchrbw;

# и т.д....

Msql::Statement::isnotnull

@not_null = $statement_handle->isnotnull;

Msql:: Statement: :isnotnull возвращает список булевых значений, указывающих для каждой из содержащихся в описателе команды колонки, была ли она определена как 'NOT NULL'. При вызове в скалярном контексте функция возвращает ссылку на массив.




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