问题与`AND`逻辑运算符mySQL

问题描述:

我有3个兴趣列:RateNameURL是varchars,MaxNum是INT。 当我尝试执行下面的命令,它失败:问题与`AND`逻辑运算符mySQL

SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%'" AND `URL` IS NOT NULL AND `MaxNum` = 2 

错误是:#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '" AND URL IS NOT NULL AND MaxNumOfTiers = 2' at line 1

我试图查询分开,下面的代码工作正常:

SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%'" 

然而当我添加额外的AND条件时,我收到错误。

删除那个流浪的双引号?

SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%' -- was here 
     AND `URL` IS NOT NULL AND `MaxNum` = 2 

的一个没有额外的条件应该会失败,除非你删除它或MySQL忽略它默默地

你有多余的"在查询 - 删除它,它应该工作。

通常,避免在SQL中使用双引号"。大多数SQL方言只支持使用单引号。一些方言,如PostgreSQL,使用双引号来转义名称(但不代表字符串)。

在SQL身体避免双引号也有不错的属性,您可以用它们来逃避整个SQL在你的编程语言如PHP,Perl和Python等

您的查询语法错误,你正在使用“和 ”在一个地方我都修改它下面这样用:

SELECT * FROM `table1` WHERE `RateName` LIKE '%$customerType%' AND `URL` IS NOT NULL AND `MaxNum` = 2 

尝试LIKE '%$ customerType%' AND代替LIKE '%$ customerType%'“ AND和正常工作。