Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/238.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要sql查询中的帮助吗_Php_Mysql - Fatal编程技术网

Php 需要sql查询中的帮助吗

Php 需要sql查询中的帮助吗,php,mysql,Php,Mysql,我有一个varchar字段,它包含(88,90100200)这样的值,我还有一个包含值200,当使用IN子句查看第一个字段中的第二个字段是否返回空结果时,但当与88进行比较时,它返回结果 所以我想知道我做错了什么,是否有更好的方法 下面是mysql代码 select * from user inner join category where parent_id IN (categories) 父项id位于类别表中,而类别位于用户表中 执行联接时,需要一个ON子句来指定要查找的行在两个表之间以

我有一个varchar字段,它包含(88,90100200)这样的值,我还有一个包含值200,当使用IN子句查看第一个字段中的第二个字段是否返回空结果时,但当与88进行比较时,它返回结果

所以我想知道我做错了什么,是否有更好的方法

下面是mysql代码

select * from user inner join category where parent_id IN (categories)
  • 父项id位于类别表中,而类别位于用户表中

执行联接时,需要一个ON子句来指定要查找的行在两个表之间以某种方式“匹配”。如果希望某个列的值为“此列表中的某个值…”的单个表中的所有行,请在中使用。所以这两个都是有效的SQL:

SELECT * FROM user INNER JOIN category ON user.someColumn = category.someOtherColumn // can add WHERE clause


除非共享表结构,否则无法确切告诉您应该使用什么查询,因为问题不清楚。

父id在(类别)中的位置可能是它的(类别)?或者什么是类别?编辑:nvm,刚刚看到你的编辑你能添加表的结构吗?如果没有表结构,你到底想加入什么还是完全不明确的,甚至你真的需要加入。结构、示例数据和期望的结果将产生所有的差异。这是一个内部连接,在两个表之间使用ON子句不需要它。parent_id是INT(11),位于category表中,categories是user表中的VARCHAR(45),它也可以在第二个mysql查询中使用,但集合是变量如果集合是变量,则在运行时替换它。您可以使用简单的字符串连接,也可以使用prepare()和参数绑定(我认为更可取)。“在MySQL中,连接、交叉连接和内部连接是语法等价的(它们可以相互替换)。在标准SQL中,它们不是等价的。内部连接与ON子句一起使用,其他情况下使用交叉连接。”@
SELECT * FROM user WHERE parent_id IN (88, 99, 100, 200)