2017-04-18 91 views
-1

想要打印来自两个不同表格的参与者信息,如firstName,organization。查询工作正常,因为它提供了期望的结果。但是当我尝试打印提取的数据时,它会返回一个错误。显示来自PDO中多个表的记录mysql

function get_all_participant(){ 
    include 'connection.php'; 

    $sql = ' 
select p1.fname 
    , p1.organization 
    , p1.state 
    , p2.created 
    from participant p1 
    INNER JOIN programme_participant p2 
ON p1.id = p2.participant_id 
'; 
    try{ 
    $results = $db->prepare($sql); 
    $results->execute(); 
    } catch (Exception $e){ 
    echo "Error! " . $e->getMessage() . "<br/>"; 
    return false; 
    } 
    return $results->fetch(); 

}

<?php foreach (get_all_participant() as $item){ 
     echo $item['fname']; 
    }?> 

输出(错误):

警告:非法串偏移 'FNAME'

+0

get_all_participant()返回什么? – Akintunde007

+0

你不明白。数组'get_all_participant()'的结果是什么? – Akintunde007

+0

它返回参与者信息。 'return $ results-> fetch();' – GKumar

回答

0

尝试使用

$result = $results->fetchAll(); 

如果查询返回多条记录,那么获取函数将不起作用

+0

感谢您的快速回复。 – GKumar