Sql server 如何使用LIKE关键字在Perl脚本中执行“select”语句?
每当我执行程序时,我都没有得到正确的输出,代码也没有成功执行 请帮帮我 试试这个:Sql server 如何使用LIKE关键字在Perl脚本中执行“select”语句?,sql-server,perl,Sql Server,Perl,每当我执行程序时,我都没有得到正确的输出,代码也没有成功执行 请帮帮我 试试这个: #!/usr/bin/perl use DBI; $a="test"; $DSN = q/dbi:ODBC:SQLSERVER/; $uid = q/ivr/; $pwd = q/ivr/; $DRIVER = "Freetds"; $dbh = DBI->connect($DSN,$uid,$pwd) or die "Coudn't Connect SQL"; $sql_query1 = "sel
#!/usr/bin/perl
use DBI;
$a="test";
$DSN = q/dbi:ODBC:SQLSERVER/;
$uid = q/ivr/;
$pwd = q/ivr/;
$DRIVER = "Freetds";
$dbh = DBI->connect($DSN,$uid,$pwd) or die "Coudn't Connect SQL";
$sql_query1 = "select top(1) * from winast_sms_template where sms_tmp_service_id =1 and sms_tmp_name like '\%$a'";
$sql_address = $dbh->prepare($sql_query1);
$sql_address->execute();
while ((@city_address)=$sql_address->fetchrow_array())
{
$b = $city_address[2];
print $b;
}
您期望得到什么?不要尝试使用DBI模块在SQL查询中插入变量。使用占位符,如文档所示。同时,严格使用;使用警告;是您遗漏的代码的重要部分。+不是perl中的串联运算符。你要句号..我的错;混合了我的SQL和perl。
$sql_query1 = "select top(1) * from winast_sms_template where sms_tmp_service_id =1 and sms_tmp_name like ?";
$sql_address = $dbh->prepare($sql_query1);
$sql_address->execute('%' . $a);