【问题标题】:PHP PDO FetchAll arguments to remove row number from resultsPHP PDO FetchAll 参数从结果中删除行号
【发布时间】:2011-12-04 03:08:44
【问题描述】:

我正在构建一个函数,其作用类似于 Drupal 的 variable_initialize() 函数,它将所有键/值对拉入一个全局变量。我正在尝试找到我需要放入 fetchAll() 以删除行号并基本上获取 fetch(PDO::FETCH_ASSOC) 所做的正确参数,但对于所有返回的行。

我基本上希望 fetchAll 返回:

Array {
    [name] = value,
    [name2] = value2,
    [name3] = value3,
}

变量表是一个简单的2列表(名称)|(值)

function variable_init() {
global $db, $variable;

$query = "SELECT * FROM variable";
$stmt = $db->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll(); //need help here

    foreach($result as $name => $value) {
        $variable[$name] = $value;
    }
}

我已经尝试过 PDO_COLUMN/PDO_GROUP/etc... 但我似乎无法偏移数组以删除行号。谢谢。

【问题讨论】:

    标签: php pdo resultset


    【解决方案1】:

    我认为您可能对PDOStatement::fetchAll() 返回的内容感到困惑。

    该方法返回 array 中的所有行(数组或对象,取决于 fetch 样式)。

    试试这个

    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
    foreach ($result as $row) {
        $variable[$row['name']] = $row['value'];
    }
    

    【讨论】:

    • 感谢您的帮助。我仍在缓慢但肯定地学习 PDO。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 2013-01-02
    • 2012-07-23
    • 2014-11-05
    • 1970-01-01
    • 2011-12-24
    • 1970-01-01
    相关资源
    最近更新 更多