Php 如何在mysql中使用OR&和in WHERE子句
我是Mysql新手&有一个表,目前我正在其中获取数据Php 如何在mysql中使用OR&和in WHERE子句,php,mysql,Php,Mysql,我是Mysql新手&有一个表,目前我正在其中获取数据 SELECT * FROM tablename WHERE name='$user' AND date='$selecteddate' 现在我想再添加一个名为status_id的列,在其中我想从中选择到值,即1或2 我试过这个问题 SELECT * FROM tablename WHERE (name='Ankit') AND (date='2015-04-23') AND (status_id='1' OR status_id='2')
SELECT * FROM tablename WHERE name='$user' AND date='$selecteddate'
现在我想再添加一个名为status_id的列,在其中我想从中选择到值,即1或2
我试过这个问题
SELECT * FROM tablename WHERE (name='Ankit') AND (date='2015-04-23') AND (status_id='1' OR status_id='2')
但是没有成功
请帮助。好吧,您只需要or子句所涉及的元素介于 括号 它们是不需要的,顺便说一句,您可以使用AND/OR的优先顺序,但我想说这是提高可读性的最佳方法 如果status_id数据类型为int,则不需要在1和2之间使用“”
SELECT *
FROM tablename
WHERE name='Ankit'
AND date='2015-04-23'
AND (status_id=1 OR status_id=2)
顺便说一下,在这种情况下,您可以使用in子句
AND status_id in (1, 2)
好的,您只需要or子句所涉及的元素介于 括号 它们是不需要的,顺便说一句,您可以使用AND/OR的优先顺序,但我想说这是提高可读性的最佳方法 如果status_id数据类型为int,则不需要在1和2之间使用“”
SELECT *
FROM tablename
WHERE name='Ankit'
AND date='2015-04-23'
AND (status_id=1 OR status_id=2)
顺便说一下,在这种情况下,您可以使用in子句
AND status_id in (1, 2)
像这样的
"SELECT * FROM tablename
WHERE name='Ankit'
AND date='2015-04-23'
AND (status_id='1' OR status_id='2')";
像这样的
"SELECT * FROM tablename
WHERE name='Ankit'
AND date='2015-04-23'
AND (status_id='1' OR status_id='2')";
尝试在中使用
尝试在中使用
它是否显示任何错误状态id列的数据类型是什么?似乎查询是可以的。你期望得到什么?我在mysql中尝试过这一点&它给出的错误为:从karmadetails中选择*,其中name='Ankit'和date='2015-04-23'和status='2'或status='1'mysql说:文档1064-你的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第一行的“SELECT*FROM tablename WHERE name='Ankit'和date='2015-04-23'和st'附近使用的正确语法,如果您的第一个查询正常?在第一次查询中,$selecteddate的内容是什么?它是否显示任何错误?status\u id列的数据类型是什么?似乎查询是可以的。你期望得到什么?我在mysql中尝试过这一点&它给出的错误为:从karmadetails中选择*,其中name='Ankit'和date='2015-04-23'和status='2'或status='1'mysql说:文档1064-你的SQL语法有错误;检查与您的MySQL服务器版本对应的手册,以了解在第一行的“SELECT*FROM tablename WHERE name='Ankit'和date='2015-04-23'和st'附近使用的正确语法,如果您的第一个查询正常?在第一次查询中,$selecteddate的内容是什么?