PDO返回结果,是存储和输出的最佳方式


PDO returning results, best way to store and output?

我希望从PDO返回一个数组,然后在表中输出结果。

我目前不确定正确的方法,因为PDO有很多不同的返回方法(fetch、fetchAll、PDO::fetch_ASSOC),但仅举几个例子,所以请随时提出合适的建议。我目前正在将fetch()与PDO::fetch_ASSOC一起使用。

我当前的标记返回两行以上,,我需要将这些行输出到一个可视化表中,只选择数组中返回的少数列来实际显示给用户

我已经尝试了foreach循环

 foreach ($object->getMethod() as $row)

然而,这显然输出了所有内容,使用$row['DB_COLUMN_NAME']也只返回数据的第一个字母?

关于如何处理这个问题,有什么建议吗?

应用程序需求:MVC风格的框架,控制器调用模型方法并传递变量用于数据库查询。模型返回数组(结果类型可供建议)。View接收数组,并需要遍历返回的行,将它们输出到可视化表中(但仅显示指定的列)

如果这是一个更好的方法,我也可以在控制器中创建一个新的类。

非常感谢。

答案取决于您。

  • fetch与循环结合使用来迭代行并一次处理每一行
  • 使用fetchAll将整个结果集转储到一个变量中(无论是数组还是对象)

关于提取模式:

  • 使用PDO::FETCH_ASSOC获取一个关联数组,将列名(或别名)作为关键字
  • 使用PDO::FETCH_NUMERIC获取一个数字数组,该数组不包含列名,但包含编号索引
  • 使用PDO::FETCH_BOTH可以获取一个具有重复项的数组,这些项在同一数组中都是关联项和数字项
  • 使用PDO::FETCH_OBJECT将数据提取到一个对象中(该对象应该根据您期望的结果进行定制)

您选择使用的选项取决于您的应用程序需求。我们不能帮你。