Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何使用LIKE关键字在Perl脚本中执行“select”语句?_Sql Server_Perl - Fatal编程技术网

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);