【问题标题】:Display records from multiple table in PDO mysql [duplicate]在PDO mysql中显示来自多个表的记录[重复]
【发布时间】:2017-04-18 07:05:50
【问题描述】:

想要从两个不同的表打印参与者信息,例如名字、组织。查询工作正常,因为它给出了预期的结果。但是当我尝试打印获取的数据时,它会返回一个错误。

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'

【问题讨论】:

  • get_all_participant() 返回什么?
  • 你不懂。数组get_all_participant()的结果是什么
  • 返回参与者信息。 return $results-&gt;fetch();
  • 数组是空的吗?
  • 顺便说一句,我们在 1992 年左右就停止了这种方式编写查询。加入我们吧。

标签: php mysql pdo


【解决方案1】:

尝试使用

$result = $results->fetchAll();

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

【讨论】:

  • 感谢您的快速回复。
猜你喜欢
  • 1970-01-01
  • 2016-03-09
  • 1970-01-01
  • 2012-10-27
  • 1970-01-01
  • 1970-01-01
  • 2011-04-28
  • 1970-01-01
相关资源
最近更新 更多