我在PHP上很糟糕,我需要从数据库中检索数据并将其提供给index.php视图。该视图是预先制作的,并且具有以下代码:
//This is simplified - it has error handling that is not shown
$results = getAll($tableName);
//This is the line where it is failing
//Undefined Offset
$columns = empty($results) ? array() : array_keys($results[0]);
$idColumn = $columns[0];
还有其余部分,但我只需要知道这个代码所期望的是什么。我甚至没有得到应该发送到这件事的第一个线索。我只需要让它发挥作用。
这是我到目前为止所尝试的:
function getAll($tablename)
{
$mysqlConnection = getDbConnection();//Just the normal PDO db connection
$sql = "SELECT * FROM ".$tablename;
$sth = $mysqlConnection->prepare($sql);
$sth->execute();
$resultSet = $sth->fetch(PDO::FETCH_ASSOC);
return $resultSet;
}
我尝试了各种不同的PDO :: FETCH _...类型,但没有任何工作。没有关于我应该发送该部分视图的信息。
答案 0 :(得分:2)
如果您想要fetch()
中的所有行,则需要遍历结果集,因为它将返回单行。在循环中,您可以将它们放在一个数组中。
您可以改用fetchAll()
。它会将所有结果作为数组返回。