MySQL & mSQL



Mysql.pm API - часть 2


Пример

use Mysql;

my $db = Mysql->connect(undef, 'mydata');

my Soutput = $db->query("SELECT name, data from myothertable");

if ($output->type->[0] = &Mysql::FIELD_TYPE_STRING) {

print "Name является STRING.\n"; }

Mysql::Statement::affectedrows

$number_of_affected_rows = $statement^handle->affectedrows;

Msql: :Statement: :affectedrows возвращает число строк, обработанных запросом. Эта функция полезна, поскольку Mysql.pm возвращает описатель команды для запросов, не являющихся командами SELECT.

Пример

use Mysql;

my $db = Mysql->connect(undef,'mydata');

my $output = $db->query("UPDATE mytable set name='bob' where

name='joe'");

print $output->affectedrows . " строк обновлено.\n";

Mysql::Statement::info

$info = $sth->info;

Mysql: : Statement:: info возвращает дополнительные результаты некоторых запросов, для которых в Mysql.pm нет специальных функций, таких как ALTER TABLE и LOAD DATA INFILE . Например, при использовании LOAD DATA INFILE функция Mysql: : Statement:: info возвращает число вставленных записей, число удаленных, число пропущенных и число элементов, которые невозможно синтаксически разобрать.

Пример

use Mysql;

$db = Mysql->connect(undef,'mydata');

my $output = $db->query("LOAD DATA INFILE 'mydata.dat' INTO TABLE mytable");

my $info = $output->info($output);

print «Результат работы LOAD DATA: $info\n»;

Mysql::Statement::insertid

$new_id = $statement_handle->insertid;

Функция Mysql::Statement::insertid возвращает текущее значение поля auto_increment (если такое имеется) в таблице. Если в таблице нет поля auto_increment , она возвращает неопределенное значение undef.

Пример

use Mysql;

my $db = Mysql->connect(undef,'mydata');

my $output = $db->query(

"INSERT into mytable (id, name, date) VALUES ('','bob', 'today')";

my $new_id = $output->insertid;

print "Bob был введен с ID, равным $new_id.\n";




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