Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.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 使用多个表中的数据_Php_Mysql_Database_Syntax - Fatal编程技术网

Php 使用多个表中的数据

Php 使用多个表中的数据,php,mysql,database,syntax,Php,Mysql,Database,Syntax,我的问题是:我有3个表,每个表都有重叠的信息(特别是用户名)。除了用户名行在每个表中的名称不同之外。由于用户名是特定于用户的,因此可以根据用户名获取有关用户的所有其他信息。这是我的。(第一个函数返回查询,第二个函数返回数组中的信息(或者应该返回) 但是当我做类似的事情时,$sel\u user=get\u user\u id()在另一个页面上,它实际上不会调出任何选定的用户信息……我假设发生这种情况是因为我关于使用多个表的语法不正确。无论如何,任何输入都将非常感谢。要使用联接,请以这个snip

我的问题是:我有3个表,每个表都有重叠的信息(特别是用户名)。除了用户名行在每个表中的名称不同之外。由于用户名是特定于用户的,因此可以根据用户名获取有关用户的所有其他信息。这是我的。(第一个函数返回查询,第二个函数返回数组中的信息(或者应该返回)


但是当我做类似的事情时,
$sel\u user=get\u user\u id()
在另一个页面上,它实际上不会调出任何选定的用户信息……我假设发生这种情况是因为我关于使用多个表的语法不正确。无论如何,任何输入都将非常感谢。

要使用联接,请以这个snipcode为例:

$query = "SELECT * FROM (ownerOrganization INNER JOIN owner ON owner.ownerId=ownerOrganization.ownerId) INNER JOIN queue_acl ON owner.ownerId=queue_acl.user_id";
$query .=" WHERE owner.ownerId ='{$id}'";

关于

我键入的或多或少是@MTranchant写的内容。我建议重命名您的列,以便于查询编写和避免混淆。例如,您的ownerOrganization.ownerid可以命名为oo_ownerid,表中的其他列可以遵循该命名约定

另外,您是否使用已知存在的硬编码$id对数据库运行了查询


最后,在发送到下一页的查询字符串中,是否会出现类似“&ownerId=”的ownerId参数?

请发布示例数据和所需输出。这些表中的
所有者id
/
用户id
是唯一的键吗?这些表中的每个表都有每个用户的数据吗?建议您阅读如何使用JOIN。您确定在另一页上的
GET参数中有
所有者id
?使用
内部JOIN
对于联接表中没有数据的行,将不会产生任何结果…他确实想要这样做吗?这只是他的第一个查询的等价性。因为我们不知道“先前”数据在哪里,我们无法定义它是左联接还是右联接。我过去认为完全联接成本太高。。。
$query = "SELECT * FROM (ownerOrganization INNER JOIN owner ON owner.ownerId=ownerOrganization.ownerId) INNER JOIN queue_acl ON owner.ownerId=queue_acl.user_id";
$query .=" WHERE owner.ownerId ='{$id}'";