Druzya.org
Возьмемся за руки, Друзья...
 
 
Наши Друзья

Александр Градский
Мемориальный сайт Дольфи. 
				  Светлой памяти детей,
				  погибших  1 июня 2001 года, 
				  а также всем жертвам теракта возле 
				 Тель-Авивского Дельфинариума посвящается...

 
liveinternet.ru: показано количество просмотров и посетителей

Библиотека :: Компьютеры и Программирование :: Начинаем изучать MySQL
<<-[Весь Текст]
Страница: из 157
 <<-
 
ошибке, возвращаемому Msql: : errmsg .
Пример
use Mysql;
my $db = Mysql->connect(undef,'mydata','webuser', 'super_secret_squirrel');
# В этом запросе есть синтаксическая ошибка... 
my $output = $db->query( 'SELECT * from mydata');
if (not $output) {
print "Ошибка " . $output->errno . ": " . $output->errfnsg . "\n"; }
Mysql::FIELD_TYPE_*
Помимо функций типов данных Mysql: :TYPE_ *, идентичных функциям Msql::TYPE *, 
Mysql.pm предоставляет следующие дополнительные функции типов данных:
&Mysql::FIELD_TYPE_BLOB &Mysql::FIELD_TYPE_CHAR &Mysql::FIELD_TYPE_DECIMAL 
&Mysql::FIELD_TYPE_DATE &Mysql::FIELD_TYPE_DATETIME &Mysql::FIELD_TYPEJ)OUBLE 
&Mysql::FIELD_TYPE_FLOAT &Mysql: : FIELD_TYPE_INT24 &Mysql::FIELD_TYPE_LONGLONG 
&Mysql::FIELD_TYPE_LONG_BLOB &Mysql::FIELD_TYPE_LONG 
&Mysql::FIELD_TYPE_MEDIUM_BLOB &Mysql::FIELD_TYPE_NULL &Mysql::FIELD_TYPE_SHORT 
&Mysql::FIELD_TYPE_STRING &Mysql::FIELD_TYPE_TIME &Mysql::FIELD_TYPE_TIMESTAMP 
&Mysql::FIELD_TYPE_TINY_BLOB &Mysql::FIELD_TYPE_VAR_STRING
Пример
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";
Mysql::Statement::isblob
@blobs = $statement_handle->isblob;
Mysql: : Statement:: isblob возвращает список булевых значений, указывающих на 
то, имеют ли содержащиеся в описателе команды поля тип BLOB. При вызове в 
скалярном контексте функция возвращает ccылку на массив.
Пример
use Mysql;
$db = Mysql->connect(undef,'mydata');
my $output = $db->query('SELECT name, data from myothertable');
if ($output->isblob->[0]) {
print "Name является полем BLOB.\n"; }
else {
print "Name не является полем BLOB.\n"; }
Mysql::query
В отличие от MsqLpm, Mysql.pm возвращает описатель команды даже для запросов, 
не являющихся командами SELECT, например, для запросов INSERT, UPDATE и DELETE.
Пример
use Mysql;
my $db = Mysql->connect(undef,'mydata');
 
<<-[Весь Текст]
Страница: из 157
 <<-