此SQL语句不适用于AND运算符

时间:2015-07-06 20:55:07

标签: php sql sql-server select

我运行了以下查询和print_r()它:

$query = "SELECT TemplateID, UserId FROM database WHERE UserId = '598'";

结果如下:

然后我运行以下查询并print_r()它:

$query = "SELECT TemplateID, UserId FROM database WHERE TemplateID = '5160';

结果如下:

由于某种原因,以下语句不起作用,只返回空:

SELECT * FROM database WHERE UserId = '598' AND TemplateID = '5160'

请帮我指出我做错的地方。我已经坚持了几个小时。根据概念,我认为第三种说法应该有效。我还检查了我的语法和拼写,我似乎无法找到它的原因。

3 个答案:

答案 0 :(得分:0)

您的第三个陈述是检查UserID =' test',但在您提供的示例数据中,您只有一个记录,其中包含UserID =' tester'。

所以你的陈述不会返回任何内容,因为没有这样的行匹配两个项目

答案 1 :(得分:0)

也许你在TemplateID列的某个地方有一些空格。尝试

SELECT * FROM database WHERE UserId = 'tester' AND TemplateID LIKE '%1111111111%'

实际检查两个字段是否有空格

SELECT * 
FROM   database 
WHERE  UserId LIKE '%tester%' 
       AND TemplateID LIKE '%1111111111%'

删除单引号

SELECT * FROM database WHERE UserId = 598 AND TemplateID = 5160

答案 2 :(得分:0)

SELECT DISTINCT TemplateID,UserID FROM database 在哪里TemplateID =' 5160' ORDER BY UserID

此查询指定templateID和userID的不同组合,可以帮助您检查数据库中是否存在您想要的组合