如何使用perl将文本插入带引号的mysql中? 插入包含'&的文本似乎很困难”。 我正在使用Perl DBI模块& DB是mysql。
更新:
这是我的查询
my $s = "INSERT INTO comment(guid,review_id) VALUES ('$guid','$review_id')";
答案 0 :(得分:13)
您应该阅读man DBI
编辑:添加了示例
my $s = "insert into comment(guid,review_id) values (?, ?)";
$dbh->do( $s, undef, $guid, $review_id) or die $dbh->errstr;
答案 1 :(得分:9)
您的旧查询应该是这样的:
my $s = "insert into comment(guid,review_id) values ('$guid','$review_id')";
$dbh->do($s);
更好的方法,根据@ AlexD的答案使用占位符和绑定值,如下所示:
my $sth = $dbh->prepare("insert into comment(guid,review_id) values (?, ?)";);
$sth->execute($guid, $review_id);
要了解第一种方法的安全风险,请查看维基百科上的SQL injection attacks。