2014-09-30 77 views
0

我有一个名为“图像”的表,它有两个名为“ID”和“拇指”的列。我想查询id为“15”的所有“thumb”值。假设ID“15”包含三行“拇指”信息。这是我MySQL PHP查询到数组

 $db = JFactory::getDbo(); 
     $query = "SELECT * FROM images WHERE id = '15' ORDER BY sort_order DESC"; 
     $db->setQuery($query); 
     $results = $db->loadObjectList(); 

所以现在我有$的结果,但是当我尝试回声他们在PHP中不显示任何东西。它说$结果是一个“数组”,但我想显示三个值。我会想“echo $ results [1];”她会给我一些数据,但没有显示任何内容。有什么我在这里失踪?我知道$结果中有些东西,但我不确定如何显示数据。

+0

请尝试print_r($ results)。 – 2014-09-30 22:56:07

+0

使用'print_r($ results)'来查找结构。你也可以使用'foreach()' - >'foreach($ results as $ result){print_r($ result);}' – Sean 2014-09-30 22:56:23

+0

检查[这个问题]的答案(http://stackoverflow.com/questions/18187207)/DB-loadobjectlist和 - MySQL的取阵列误差)。顺便说一句,假设id是一个整数,请把它当作这样:“..where id = 15 ..” – dimi 2014-09-30 22:58:07

回答

0

当mysql返回的结果大于1时,它将作为数组或对象返回。所以当你想要访问每一行时使用while循环遍历数组,如下所示:

$db = JFactory::getDbo(); 
    $query = "SELECT * FROM images WHERE id = '15' ORDER BY sort_order DESC"; 
    $db->setQuery($query); 
    while($results = $db->loadObjectList()){ 
     // echo whatever ; 
    } 

Foreach也可以使用。程序员决定哪一个适合您的需求由您决定。

+0

完美的作品! TY – user1636946 2014-11-05 23:31:09