MySQL & mSQL



Msql.pm API - часть 5


my @tables = $db->listtables;

my $database = $db->database;

print "B $database есть следующие таблицы:\n\n" join("\n",@tables);

Msql::query

$query_output = $db->query($sql_statement);

Msql::query является самой важной и наиболее часто используемой функцией в Msql.pm API. В действительности вы посылаете SQL-запросы серверу базы данных через эту функцию. Функция принимает в качестве аргумента скалярную строку, содержащую SQL-запрос. Если запрос является выражением SELECT, то она возвращает описатель команды, содержащий результаты выполнения запроса. В противном случае функция вернет число строк, измененных запросом. С описателем команды работают те же самые функции, которые были перечислены для Msql:: listf ields (за исключением Msql:: Statement:: listindices ), a также следующие: Msql::Statement: :fetchrow , Msql::Statement::fetched , Msql::Statement::fetchhash , Msql: Statement::numrows , Msql::Statement::maxlength и Msql: Statement: :dataseek . Если по какой-либо причине запрос был неудачным, возвращается значение undef и в Msql: :errmsg помещается ошибка. Каждый описатель команды содержит выходные данные отдельного запроса, поэтому можно послать системе много запросов и работать с каждым описателем команды, когда заблагорассудится.

Пример

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 $query3 = "UPDATE myothertable SET name='Bob' WHERE name='Joe'";

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

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

my $myothertable_input = $db->query($query3);

# $mytable_output содержит результаты запроса к 'mytable'

# $myothertable_output содержит результаты запроса к 'myothertable'

print "Обновление 'myothertable' повлияло на имена в $myothertable_input

\n";

$Msql::QUIET

Если переменная $Msql: : QUIET установлена в true, то параметр -w в Perl отключает вывод ошибок. В противном случае все ошибки MsqlPerl будут автоматически посылаться на STDERR. Переменную можно в любой момент сбросить. Функция вывода сообщений об ошибках по -w настолько полезна, что не рекомендуется устанавливать $Msql: : QUIET .




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