【发布时间】:2015-02-26 04:44:30
【问题描述】:
我正在使用 PDO 并尝试显示一个表中有多少用户,但是我收到此错误:
Notice: Array to string conversion in C:\Users\admin.phtml on line 10 Array
然后在我的管理类中:
public function CountUsers()
{
$query = "SELECT * FROM Users";
$statement = $this->_dbHandle->prepare($query);
// Then execute the query
$statement->execute();
// This will return the row from the database as an array
return $statement->fetchAll(PDO::FETCH_ASSOC);
}
然后在我的管理控制器中我有:
$Admin = new Admin();
$CountUsers = $Admin->CountUsers();
为了显示结果,我在我的 phtml 中有这个:
<var><?php echo $CountUsers; ?></var>
有人明白我做错了什么吗?
【问题讨论】:
-
您正在尝试输出 PDO 语句的结果。如果是数组,你可以试试
echo count($CountUsers); -
fetchAll()返回一个数组。你将该数组存储到$CountUsers,所以你不能直接echo它。访问echo $CountUsers['somekey']或count($CountUsers)之类的元素 -
无论如何,您正在获取数据库中的所有行只是为了计算它们,这是非常低效的。 Sql 知道
COUNT()之类的东西