【发布时间】:2018-01-26 22:54:38
【问题描述】:
我在 MySQL 数据库上运行 PDO 查询,我收到一条错误消息,指出为 foreach 提供的参数无效。在前端,我只是将一个字符串传递给 $questionTable,并将一个整数传递给 $questionID。
我做错了什么?
$query = $this->dbConnection->query("SELECT * FROM ('$questionTable') WHERE id = ('$questionID')");
foreach ($query as $row) {
echo $row;
};
【问题讨论】:
-
$query的值是多少?使用什么 api - PDO 或 mysqli 或其他? -
您需要获取查询的结果集以迭代循环中的行。在您在 SA 上发布问题之前,您应该做一些研究。我猜有很多教程可以向您展示缺少的内容。
-
使用了 PDO 查询。
-
什么教程?好像不太好,如果你想阅读官方的 PHP PDO 手册有足够的例子:php.net/manual/en/book.pdo.php
-
从前端传递这些值并将它们直接注入到查询中是一个非常糟糕的主意。您应该为表名和列名使用白名单,并为值使用准备好的语句。
标签: php pdo invalidargumentexception