Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.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对MySQL进行嵌套或联接查询_Php_Mysql - Fatal编程技术网

使用PHP对MySQL进行嵌套或联接查询

使用PHP对MySQL进行嵌套或联接查询,php,mysql,Php,Mysql,我曾多次尝试在PHP中使用MySQL的嵌套查询,但都不起作用。不能执行嵌套/联接查询吗 只是一个场景: 我有两个表,一个表有用户id,另一个表有数据。用户登录和会话我必须用用户id(用户和数据)交叉检查两个不同的表。不能嵌套/联接这两个表来编写单个查询语句 简言之,PHP编码中是否允许嵌套或连接两个或多个表?是的,在MySQL中可以连接两个或多个表(因此,在使用PHP时也是如此) 如果希望我们显示相关的联接查询,则需要发布表架构。但是,您可以尝试以下方法: SELECT * FROM user

我曾多次尝试在PHP中使用MySQL的嵌套查询,但都不起作用。不能执行嵌套/联接查询吗

只是一个场景:

我有两个表,一个表有用户id,另一个表有数据。用户登录和会话我必须用用户id(用户和数据)交叉检查两个不同的表。不能嵌套/联接这两个表来编写单个查询语句


简言之,PHP编码中是否允许嵌套或连接两个或多个表?

是的,在MySQL中可以连接两个或多个表(因此,在使用PHP时也是如此)

如果希望我们显示相关的联接查询,则需要发布表架构。但是,您可以尝试以下方法:

SELECT * FROM user AS t1
CROSS JOIN data AS t2
    ON t1.userid=t2.userid
WHERE t1.userid='154'
(此查询假定两个表中始终有一行具有userid。即使userid的数据中没有行,也应使用
左连接
而不是
交叉连接
返回一行。154只是一个示例userid。)

查看
JOIN
语法的相关信息

users 

| user_id | username | password | enabled |
|---------|----------|----------|---------|
|    1    | john     | sgsd2gg  |   1     |
|    2    | jane     | sdshdhd  |   0     |

users_data

|udata_id| user_id | some_column       | 
|--------|---------|-------------------|
|   1    |   1     | Some title        |
|   2    |   2     | another title     |
由于您尚未发布表模式,因此我无法给出确切的解决方案。但是假设您有一个
users
表和一个
users\u data
表,其中users\u数据由用户拥有。您可以对表执行联接以检索所有数据

SELECT * -- Don't select all fields unless you need it
FROM users U LEFT JOIN users_data UD ON U.user_id = UD.user_id
WHERE U.user_id = 1
这将为ID为1的用户提取所有记录。这是一个非常简单的连接,但它应该给你一个想法


下面的示例直观地描述了可以使用的不同选项:

这不是嵌套表,而是连接。在此处发布您的表架构,以便我们可以帮助您JOIN@Jean所以通常在底部没有签名:)你通过向上投票和接受答案来感谢他人。这不是签名,而是事先说谢谢,如果答案是正确的,我会向上投票并接受acceptable@jean你的名字在下面。我本想删除
hello
位,但没有删除。我没有再编辑它,因为这将是一个琐碎的编辑。只是想澄清一下:这在美学上是重要的,并且遵守规则不提这些…@Jean主要是因为你的名字被包括在底部,他们不想把问题内容弄得杂乱无章。问题内容和答案内容是最重要的