Perl中的Mysql查询参数问题

前端之家收集整理的这篇文章主要介绍了Perl中的Mysql查询参数问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的代码有点问题,如果我手动输入值,查询工作正常.但如果我使用我的变量则失败.代码如下所示

my $get_meter_id = $dbh->prepare("SELECT * from t_readings where meter_serial = '21001652' AND ...");
$get_meter_id->execute() or die "Couldn't execute statement: ".$get_meter_id->errstr;
my $meter_reg_id = $get_meter_id->fetchrow_array();

上面的一个工作

where meter_serial = 21001652 AND ...")

上面的一个工作.

where meter_serial = '".$variable."' AND ...")

以上不起作用

where meter_serial = ".$variable." AND ...")

以上不起作用

非常感谢.

解决方法

使用占位符.不要乱用字符串连接.

my $get_meter_id = $dbh->prepare("SELECT * from t_readings where meter_serial=? AND ...");
my $foo = 21001652;
$get_meter_id->execute($foo) or die "Couldn't execute statement: ".$get_meter_id->errstr;

猜你在找的Perl相关文章