我的代码有点问题,如果我手动输入值,查询工作正常.但如果我使用我的变量则失败.代码如下所示
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();
Run Code Online (Sandbox Code Playgroud)
上面的一个工作
where meter_serial = 21001652 AND ...")
Run Code Online (Sandbox Code Playgroud)
上面的一个工作.
where meter_serial = '".$variable."' AND ...")
Run Code Online (Sandbox Code Playgroud)
以上不起作用
where meter_serial = ".$variable." AND ...")
Run Code Online (Sandbox Code Playgroud)
以上不起作用
非常感谢.
使用占位符.不要乱用字符串连接.
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;
Run Code Online (Sandbox Code Playgroud)
小智 5
关于什么:
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();
Run Code Online (Sandbox Code Playgroud)
进一步阅读
归档时间: |
|
查看次数: |
577 次 |
最近记录: |