|
базы данных типа CHAR или TEXT. Более точно, строка заключается в одиночные
кавычки, а одиночные кавычки внутри строки предваряются управляющим символом
«обратная косая черта». Если задан второй аргумент, результирующая строка
укорачивается до заданной длины.
Пример
use Msql;
my $db = Msql->connect;
my $string = "Это ' (одинарная кавычка)";
my $qstring = $db->quote($string);
print qq%Tenepb значение строки "'Это\\' (одинарная кавычка)'" : $qstring\n%;
Msql::selectdb
$db->selectdb($database);
Msql: :selectdb выбирает базу данных на сервере. В случае неуспеха в Msql:
:errmsg помещается ошибка. Единственный действенный способ проверить успешность
выполнения функции - посмотреть значение $db->database и сравнить его с той
базой данных, с которой вы хотели соединиться. В любой момент выполнения
программы можно переключиться между базами данных.
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
# Выбранной базой данных является 'mydata'
if ($db->database ne 'mydata') {
wаrn('Базу данных выбрать не удалось!'); }
$db->selectdb('myotherdata');
# Теперь выбрана база данных 'myotherdata'
Msql::shutdown
$result = $db->shutdown;
Msql: : shutdown посылает на сервер mSQL команду остановки. Команда посылается
от имени пользователя, запустившего программу, поэтому для использования в
CGI-программе последняя должна запускаться пользователем, имеющим право
остановки сервера баз данных. Функция возвращает -1 при неудаче и 0 в случае
успеха.
Пример
use Msql;
my $db = Msql->connect;
# Пора закрывать базу данных...
my $result = $db->shutdown;
die "Команда не выполнена!" if $result — -1;
print "Сервер остановлен.\n";
Msql::Statement::as_string
$formatted_table = $statement_handle->as_string;
Msq1: :Statement: :as_string возвращает данные, содержащиеся в описателе
команды, в виде аккуратно отформатированной таблицы ASCII. Таблица аналогична
тем, которые выводит монитор msql. Программа pmsql, поставляемая с модулем Msql.
pm, использует эту функцию для создания своих таблиц.
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my $query = "SELECT * FROM mytable";
my $mytable_output = $db->query($query);
print "Моя таблица:\n", $mytable_output->as_string;
# Выводится вся таблица в гораздо более приемлемом виде,
# чем в примере Msql:[Statement:ifetchhash.
Msql::Statement::dataseek
$statement_handle->dataseek($row_number);
Msql: :Statement: :dataseek принимает в качестве аргумента номер строки.
Функция переустанавливает данные, так что следующий вызов Msql: :Statement:
:fetchrow или Msql: Statement: :fetchhash возвращает данные указанной строки.
Если указанный номер строки выходит за границы таблицы, указатель
устанавливается на конец таблицы и при следующем вызове будет возвращено
неопределенное значение undef. Первая строка таблицы имеет номер 0.
Пример
use Msql;
my $db = Msql->connect;
$db->selectdb('mydata');
my Squery = "SELECT name, date FROM myothertable";
my $myothertable_output = $db->query($query);
my @names = $myothertable_output->fetchcol(0);
my @dates = $myothertable_output->fetchcol(1);
# Теперь указатель установлен в конце таблицы.
$myothertable_output->dataseek(0);
# Теперь указатель установлен на начало таблицы,
print "Это первая строка данных: ", $myothertable_output->fetchrow, "\n".
Msql::Statement::fetchcol
@column_of_data = $statement_handle->fetchcol($column_number);
Msql: :Statement: :fetched принимает в качестве аргумента номер колонки и
возвращает массив всех значений, находящихся в этой колонке. Каждый вызов
возвращает значения в колонке в одинаковом порядке, поэтому значения с
|
|