我希望从PDO返回一个数组,然后将结果输出到表中。
我目前不确定正确的解决方法,因为PDO有许多不同的返回方法(fetch,fetchAll,PDO :: FETCH_ASSOC),但仅举几例,请随时提出合适的建议。我目前正在使用带有PDO :: FETCH_ASSOC的fetch()。
我当前的标记返回两行以上,我需要将这些行输出到可视表中,只选择数组中返回的几个列以实际显示给用户。
我尝试了一个foreach循环
foreach ($object->getMethod() as $row)
然而这显然会输出所有内容,使用$ row ['DB_COLUMN_NAME']也只返回数据的第一个字母?
有关如何处理此事的任何建议?
应用程序需求: MVC样式框架,控制器调用模型方法和传递变量用于数据库查询。 模型返回数组(结果类型打开建议)。 查看接收数组,需要遍历返回的行,在可视表中输出它们(但只显示指定的列)
如果这是一种更好的方法,我也可以在控制器中创建一个新类。
非常感谢。
答案 0 :(得分:3)
答案取决于你。
fetch
与循环结合使用以迭代行并一次处理每一行。fetchAll
将整个结果集转储到变量(无论是数组还是对象)。至于获取模式:
PDO::FETCH_ASSOC
获取关联数组,并将列名称(或别名)作为键。PDO::FETCH_NUMERIC
获取数字数组,没有列名但编号索引。PDO::FETCH_BOTH
获取具有重复条目的数组,在同一数组中包含关联和数字。PDO::FETCH_OBJECT
将数据提取到对象中(应该根据您期望的结果进行定制)。您选择使用的那些取决于您的应用需求。我们无法帮助你。