【发布时间】:2013-03-08 21:59:59
【问题描述】:
我有这个代码:
$dbInstance = DB_Instance::getDBO();
$statement = $dbInstance->prepare("SELECT id, name FROM language ORDER BY id");
$statement->execute();
$rows = $statement->fetchAll();
//Create associative array wuth id set as an index in array
$languages = array();
foreach($rows as $r) {
$languages[$r['id']] = $r['name'];
}
return $languages;
我不知道如何使用 PDO 语句来获得与数组 $languages 产生的相同结果。我尝试了一些不同的 fetch_styles。
我尝试了一些不同的风格,我可以得到这样的:
[0] svenska
[1] engelska
但我想要:
[1] svenska
[2] engelska
(其中 1 和 2 是数据库中 id 的值)
我想我可以创建一个函数并用FETCH_FUNC 调用它,但我也不确定这会不会很棒。
以上是最好/最干净的方法吗?
【问题讨论】:
-
如果你想返回一个带有PDO的关联数组,做
$rows = $statement->fetchAll(PDO::FETCH_ASSOC);然后你可以参考$rows[$row_num][$col_name] -
我明白你现在的要求。请查看我的更新答案以解决您的特定问题。
标签: php arrays pdo associative