MySQL & mSQL



DBI.pmAPI - часть 12


Пример

use DBI;

my @list = (' Bob', 'Joe', 'Frank');

my $neat_string = DBI::neat_list(\@list, 3);

# Теперь $neat_string такая: 'Bob', 'Joe', 'Fra...

DBI::prepare

$statement_handle = $db->prepare($statement);

$statement_handle = $db->prepare($statement, \%unused);

DBI: :prepare принимает в качестве аргумента SQL-команду, которую некоторые модули баз данных переводят во внутреннюю компилированную форму, исполняемую быстрее при вызове DBI: : execute . Эти модули DBD (не DBD::mSQL или DBD::mysql) принимают также ссылку на хэш необязательных атрибутов. Серверы mSQL и MySQL в настоящее время не реализуют концепцию подготовки команд, поэтому DBI: : prepare просто запоминает команду. По желанию вместо значений данных в команду можно вставить любое количество символов '?'. Эти символы известны как метки-заместители (placeholders). Функция DBI: : bind_param осуществляет подстановку действительных значений вместо меток-заместителей. Если по какой-либо причине команду нельзя подготовить, функция возвращает undef.

Пример

use DBI;

my $db = DBI->connect('DBI:mysql:mydata','me','mypassword');

my $statement_handle = $db->prepare('SELECT * FROM mytable');

# Теперь эта команда готова к выполнению.

My $statement_handle = $db->prepare('SELECT name, date FROM myothertable WHERE name like ?');

# Эта команда будет готовя к выполнению после подстановки # с использованием функции DBI::bind_param.

DBI::quote

$quoted_string = $db->quote($string);

DBI::quote принимает строку для использования в качестве запроса SQL и возвращает ее копию с правильно расставленными для ввода в запрос кавычками, в том числе расставляя корректные кавычки по концам строки.

Пример

use DBI;

my $db1 = DBI->connect('DBI:mSQL:mydata',undef,undef);

my $db2 = DBI->connect('DBI:mysql:myotherdata','me','mypassword');

my $string = "Sheldon's Cycle";

my $qs1 = $db1->quote($string);

# $qs1: 'Sheldon\'s Cycle' (включая наружные кавычки)

my $qs2 = $db2->quote($string);




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