0

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

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

我当前的标记返回多于两行,我需要将它们输出到可视表中,只选择数组中返回的少数列以实际显示给用户

我尝试了一个 foreach 循环

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

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

关于如何解决这个问题的任何建议?

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

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

非常感谢。

4

1 回答 1

3

答案取决于你。

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

至于获取模式:

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

您选择使用哪些取决于您的应用程序需求。我们无法为您提供帮助。

于 2012-08-02T21:03:20.183 回答