如何使用perl将文本插入带引号的mysql中?插入包含'&"的文本似乎很困难.我使用的是Perl DBI模块,DB是mysql.
更新:
这是我的查询
my $s = "INSERT INTO comment(guid,review_id) VALUES ('$guid','$review_id')";
Run Code Online (Sandbox Code Playgroud)
小智 13
您应该阅读" 占位符和绑定值 "部分man DBI
编辑:添加示例
my $s = "insert into comment(guid,review_id) values (?, ?)";
$dbh->do( $s, undef, $guid, $review_id) or die $dbh->errstr;
Run Code Online (Sandbox Code Playgroud)
您的旧查询将是这样的:
my $s = "insert into comment(guid,review_id) values ('$guid','$review_id')";
$dbh->do($s);
Run Code Online (Sandbox Code Playgroud)
更好的方法,根据@ AlexD的答案使用占位符和绑定值,如下所示:
my $sth = $dbh->prepare("insert into comment(guid,review_id) values (?, ?)";);
$sth->execute($guid, $review_id);
Run Code Online (Sandbox Code Playgroud)
要了解第一种方法的安全风险,请查看Wikipedia 上的SQL注入攻击.
| 归档时间: |
|
| 查看次数: |
1322 次 |
| 最近记录: |