我写了一个非常简单的Perl脚本,其中包含以下行。
my $q_it = $dbh->prepare('SELECT customdata.Field_ID,
customdata.Record_ID,
customdata.StringValue
FROM customdata
WHERE customdata.Field_ID='\'10012'\' && (StringValue LIKE '\'1%'\' OR StringValue LIKE '\'2%'\' OR StringValue LIKE '\'9%'\');
');
其中customdata是一个表。
但是,我总是在语法错误中抱怨“ WHERER”子句:
Backslash found where operator expected at /home/wblocaladmin/Robert_2.pl line 18, near "'10012'\"
由于它是引号语句内的引号,因此我尝试像上述一样转义单引号。有谁能帮助我发现我哪里出了问题?
谢谢!
最佳答案
为什么不只使用双引号将字符串括起来?
my $q_it = $dbh->prepare("SELECT customdata.Field_ID,
customdata.Record_ID,
customdata.StringValue
FROM customdata
WHERE customdata.Field_ID='10012' && (StringValue LIKE '1%' OR StringValue LIKE '2%' OR StringValue LIKE '9%');
");
关于mysql - 为什么会出现转义错误?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10505569/