Perl中的Mysql查询参数问题
我的代码中有一个小问题,如果我手动输入值,查询工作正常。但如果使用变量,则失败。代码如下所示Perl中的Mysql查询参数问题,mysql,perl,Mysql,Perl,我的代码中有一个小问题,如果我手动输入值,查询工作正常。但如果使用变量,则失败。代码如下所示 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 $me
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 ...")
上面的方法不起作用
where meter_serial = ".$variable." AND ...")
非常感谢。那么:
my $get_meter_id = $dbh->prepare("SELECT * from t_readings where" .
"meter_serial = ? AND ...");
$get_meter_id->execute($variable) or die "Couldn't execute statement: " .
$get_meter_id->errstr;
my $meter_reg_id = $get_meter_id->fetchrow_array();
进一步使用占位符。不要摆弄字符串连接
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;
明确地说,我设置$variable=21001652;向自己证明<代码>使用数据::转储程序$数据::转储程序::Useqq=1;打印转储程序($variable)也许您可以说出“失败”是什么意思?没有选择任何内容?给了一个错误?什么错误?