connect( .-6ren">
gpt4 book ai didi

mysql - 如何将带引号的字符串插入到 Perl DBI 查询中?

转载 作者:可可西里 更新时间:2023-11-01 06:38:53 27 4
gpt4 key购买 nike

使用 DBI 将可以包含单引号和双引号 (",') 的字符串插入到 MySql 中的首选方法是什么?例如,$val1$val2 可以包含引号:

my $dbh = DBI->connect( ... );
my $sql = "insert into tbl_name(col_one,col_two) values($val1, $val2)";
my $sth = $dbh->prepare($sql);
$sth->execute();

最佳答案

使用绑定(bind)查询使用

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

如果您使用绑定(bind)变量,一切都会为您转义。

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

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

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

关于mysql - 如何将带引号的字符串插入到 Perl DBI 查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/284740/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com