【发布时间】:2016-10-02 18:39:02
【问题描述】:
我有以下代码:
my $body = $in{'article'};
这是我的数据库插入代码:
my $stmt = $db->prepare("insert into news_articles (createdate, userid, status, title, inline, content, attribution, pending) values(unix_timestamp(), $user->{'uid'}, 0, '$title', '$pullquote', '$body', '$attr', 0)");
当我在 $body 变量中有一个单引号时,它似乎失败了。
我尝试过使用以下方法逃避它:
$body = $db->quote($body);
还有:
$body = qq($body);
我对 Perl 很陌生,但是如何在插入之前安全地转义单引号?
【问题讨论】:
-
Placeholders 几乎总是要走的路,但
quote应该可以工作。您能否创建一个minimal reproducible example 来显示$body的值是如何设置的以及您遇到的任何错误?