将MySQL查询作为多维数组返回

时间:2013-11-20 13:35:27

标签: php mysql sql multidimensional-array pdo

我有一个SQL查询,我在那里做一些连接,但是当我在PHP中var_dump结果时,我得到一个数组,有很多重复。有没有办法将结果作为多维数组返回,如:

array( array("projectname", "projectdescription", "projectthumb" , "activestate"),
           array("img1.jpg", "img2.jpg", "img3.jpg"),
           array("tech1", "tech2", "tech3") 
         ); 

目前我得到以下结果:http://pastebin.com/ZF7yiafS

SQL查询:

SELECT    p.name,
                              p.description,
                              p.img_thumb,
                              p.active,
                              t.name,
                              i.filename
                    FROM      projects as p
                    JOIN      projects_x_techs as pt
                    ON        p.id = pt.project_id
                    JOIN      techs as t
                    ON        pt.techs_id = t.id
                    JOIN      images as i
                    ON        p.id = i.projects_id
                    WHERE p.slug =  :slug

ER图 ER diagram

1 个答案:

答案 0 :(得分:7)

您要求MySQL做与数据呈现相关的事情。 MySQL无法在“行”旁边显示任何内容。它可以创建任何你可以描述为行的东西,但它不能在行内行 - 它根本不能。

我建议返回你的“行”,然后让PHP按你的意愿打包它们,而不是努力学习一些非常复杂的SQL查询,它可能会得到你想要的输出,但可能是: 1)效率低下 2)从现在开始一年很难维持