Forum Webscript.Ru
Программирование => Perl => Тема начата: mario от 19 Июня 2001, 08:51:53
-
Возникла проблема по записи в базу данных. Подсткажите функцию, которая делает удобоваримыми всякие кавычки и прочее. Вот в php были addslashes(), а в перле?
p.s. DBI->quotes() вроде тоже не помогает :(
-
perldoc DBI
perldoc Mysql
-
$value =~ s/\\"/\\"\\;/g;
или
$value =~ s/\\"/\\\\\\"/g;
-
AliMamed (19-06-2001 10:16):
$value =~ s/\\"/\\"\\;/g;
или
$value =~ s/\\"/\\\\\\"/g;
$str = $dbh->quote($str);
Это правильнее.:)
А если напрямую не подставлять строки в запрос, а делать bind_param или execute c параметрами, то вообще никаких проблем не будет.:)
-
Что-то меня все больше и больше тупеет :(. В базу надо вставить простенький HTML код:

Вот напишите мне, что надо с ним сделать, чтобы в базу его в blob загнать.
-
Например так:
#!/usr/bin/perl
use DBI;
my $db_host = "localhost";
my $db_name = "test";
my $db_user = "root";
my $db_pwd = "";
$str = qq~

~;
my $dbh = DBI-> connect("DBI:mysql:database=$db_name;host=$db_host",$db_user,$db_pwd) || die(DBI::errstr);
my $cmd = "insert into table1 (field1) values(?)";
my $sth = $dbh-> prepare ($cmd)|| die(DBI::errstr);
$sth -> execute($str) || die(DBI::errstr);
С тебя - пиво.:)