我希望从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
将数据提取到一个对象中(该对象应该根据您期望的结果进行定制)
您选择使用的选项取决于您的应用程序需求。我们不能帮你。