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

时间:2012-08-02 20:43:56

标签: php arrays pdo

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

我目前不确定正确的解决方法,因为PDO有许多不同的返回方法(fetch,fetchAll,PDO :: FETCH_ASSOC),但仅举几例,请随时提出合适的建议。我目前正在使用带有PDO :: FETCH_ASSOC的fetch()。

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

我尝试了一个foreach循环

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

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

有关如何处理此事的任何建议?

应用程序需求: MVC样式框架,控制器调用模型方法和传递变量用于数据库查询。 模型返回数组(结果类型打开建议)。 查看接收数组,需要遍历返回的行,在可视表中输出它们(但只显示指定的列)

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

非常感谢。

1 个答案:

答案 0 :(得分:3)

答案取决于你。

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

至于获取模式:

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

您选择使用的那些取决于您的应用需求。我们无法帮助你。