Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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,我的MySQL数据库中有三个表,我希望从每个表中检索所有数据并将其存储在各自的数组中。 如果不使用三个单独的SQL查询(例如 $table1_array = "SELECT fid FROM table1" ...; $table2_array = "SELECT * FROM table2" ...; $table3_array = "SELECT * FROM table2" ...; 理想情况下,我需要执行一个查询以保持性能 编辑: 下面是我的表格结构的分解: table_photos

我的MySQL数据库中有三个表,我希望从每个表中检索所有数据并将其存储在各自的数组中。 如果不使用三个单独的SQL查询(例如

$table1_array = "SELECT fid FROM table1" ...;
$table2_array = "SELECT * FROM table2" ...;
$table3_array = "SELECT * FROM table2" ...;
理想情况下,我需要执行一个查询以保持性能

编辑:

下面是我的表格结构的分解:

table_photos
pid, aid, caption, src, filename

table_albums
aid, created, count, name

table_feed
fid, timestamp, message, link, caption, description, type, name, pic_src, type, 
filename
谢谢

table_photos.aid似乎是table_albums.aid的外键。可以像这样连接前两个表

SELECT * FROM table_photos
JOIN table_albums USING(aid)
但是我看不到与第三个table_feed有任何明显的关系,所以也许您应该通过在脚本中循环来处理该查询

第一步是找出这些数据是如何关联的,第二步是编写代码以形成数据结构。

table\u photos.aid似乎是table\u albums.aid的外键。可以像这样连接前两个表

SELECT * FROM table_photos
JOIN table_albums USING(aid)
但是我看不到与第三个table_feed有任何明显的关系,所以也许您应该通过在脚本中循环来处理该查询


第一步是找出这些数据是如何关联的,然后第二步是编写代码以形成数据结构。

这些表不共享类似的列,也不是特别相关。@lowe_22如果这些表有不同的结构,它们至少有相同的列数还是几乎相同?老实说,我将只作为三个独立的查询来执行此操作。最昂贵的操作将是fetch循环。然而,我甚至不会担心它,直到它成为一个问题。如果它不能扩展,并且您不能满足您的性能要求,那么就需要担心对查询进行一些棘手的操作。但等到有确凿证据表明性能不好时,再对三个完全不相关的表进行奇怪的合并。@Jason McCreary,我不确定,谢谢:尝试使用联接或交叉联接。。。如果不能用常规方式将它们组合起来,则可能是做错了。当列数相等时,将使用UNION,但这里不是这种情况。这些表不共享类似的列,也没有特别的相关性。@lowe_22如果表具有不同的结构,它们是否至少有相同的列数,或者几乎相同的列数?老实说,我会将其作为三个独立的查询来执行。最昂贵的操作将是fetch循环。然而,我甚至不会担心它,直到它成为一个问题。如果它不能扩展,并且您不能满足您的性能要求,那么就需要担心对查询进行一些棘手的操作。但等到有确凿证据表明性能不好时,再对三个完全不相关的表进行奇怪的合并。@Jason McCreary,我不确定,谢谢:尝试使用联接或交叉联接。。。如果不能使用常规方式将它们合并,则意味着您可能做错了。当列数相等时,将使用UNION,但此处的情况并非如此。