Mysql.pm API идентичен Msql API (с заменой всюду «Msql» на «Mysql»), за исключением следующих отличий:
Mysql::connect
$db = Mysql->connect($host, Sdatabase, $user, $password);
Помимо трех методов соединения, совпадающих с Msql: :connect , в Mysql:: connect есть четвертый метод, требующий передачи пароля в качестве дополнительного аргумента. Первый аргумент - имя узла или IP-адрес сервера MySQL. Если в качестве этого аргумента передается undef, модуль соединяется с сонетом Unix на локальном узле. Второй аргумент является именем первоначально выбираемой базы данных. Его всегда можно впоследствии изменить с помощью Mysql: :selectdb . Можно передать undef в качестве второго аргумента, чтобы не выбирать исходной базы данных. Третий аргумент является именем пользователя для соединения с базой данных. Для успешного соединения имя пользователя должно присутствовать в таблицах доступа MySQL. Последний аргумент является паролем пользователя.
Пример
use Mysql;
$db = Mysql->connect(undef,'mydata','webuser1, 'super_secret_squirrel');
# Теперь описатель базы данных соединен с локальным сервером MySQL и
# использует базу данных 'mydata1.
# Использовано имя пользователя 'webuser' для
# соединения с паролем 'super_secret_squirrel'.
Mysql::errno
$error_number = $db->errno;
Mysql: :errno возвращает код последней ошибки. Код соответствует сообщению об ошибке, возвращаемому 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