gpt4 book ai didi

mysql - 我想在我的 mysql 查询中自动添加单引号

转载 作者:行者123 更新时间:2023-12-01 00:07:18 26 4
gpt4 key购买 nike

我在 perl 中有几个 mysql 查询,但是 where 子句的一些值包含单词之间的空格,例如冈比亚。当我的脚本使用包含空格的 where 子句参数运行时,它会忽略第二个单词。

我想知道如何解决这个问题,即如果我输入 gambia,它应该被视为 gambia 而不是 the。

最佳答案

如果您使用 DBI ,您可以使用占位符将任意数据发送到数据库而无需关心转义。 prepare语句中占位符为问号,实际值赋给execute:

use DBI;

$dbh = DBI->connect("DBI:mysql:....",$user,$pass)
or die("Connect error: $DBI::errstr");

my $sth = $dbh->prepare(qq{ SELECT something FROM table WHERE name = ? });
$sth->execute('the gambia');

# fetch data from $sth

$dbh->disconnect();

编辑:如果您正在撰写查询(如您在评论中所建议的那样),您可以使用quote 方法:

my $country = "AND country = " . $dbh->quote('the gambia');
my $sth = $dbh->prepare(qq{ SELECT something FROM table WHERE name = ? $country});

关于mysql - 我想在我的 mysql 查询中自动添加单引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5102246/

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