当前位置:  开发笔记 > 编程语言 > 正文

如何在Perl DBI查询中插入带引号的字符串?

如何解决《如何在PerlDBI查询中插入带引号的字符串?》经验,为你挑选了1个好方法。



1> Paul Tomblin..:

使用绑定查询

$sth = $dbh->prepare("insert into tbl_name(col_one,col_two) values(?,?)");
$sth->execute($val1, $val2);

如果使用绑定变量,则会为您转义所有内容.

更新:更改了我的示例以与编辑到问题中的示例相对应.

更新:我不知道为什么亚当删除了他的答案,但如果由于某种原因你不能使用绑定变量(又名"占位符"),你也可以使用$dbh->quote($var)变量.例如:

$sql = sprintf "SELECT foo FROM bar WHERE baz = %s",
    $dbh->quote(q("Don't"));


占位符还具有防止SQL注入攻击的非常有用的属性.使用它们.总是.*永远不要*直接将用户提供的数据放入您的查询中.
推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有