mysql - 为什么会出现转义错误?

标签 mysql perl

我写了一个非常简单的 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/

相关文章:

php - 通过简化查询将字母拆分为组合 block

PHP基于动态下拉菜单选择默认下拉菜单

perl - 我应该如何使用 Mojo::UserAgent 处理 HTML META 标签?

multithreading - 如何在 Perl 中处理任何事件、RabbitMQ(心跳)和长时间运行的作业?

perl - 在Perl中动态/递归地构建哈希?

arrays - 如何在perl中合并两个数组,从每个数组交替值

php - 在 Yii 上出现 SQLSTATE[HY000] : General error: 2014 Cannot execute queries while other unbuffered queries are active 之类的错误

php - 向 MySQL 中插入数据,在字段中添加双引号

php - 向表格的每一行添加编辑按钮以在 PHP 中更新数据库

perl - 保存 Perl Windows 环境 key UPCASES