我可以将哪种对象发送到此视图以使此PHP代码生效?

时间:2015-12-28 03:58:47

标签: php pdo

我在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 _...类型,但没有任何工作。没有关于我应该发送该部分视图的信息。

1 个答案:

答案 0 :(得分:2)

如果您想要fetch()中的所有行,则需要遍历结果集,因为它将返回单行。在循环中,您可以将它们放在一个数组中。

您可以改用fetchAll()。它会将所有结果作为数组返回。