我确实有一个查询来从MySQL数据库中获取两个用户。我正在使用PDO。
这是使用fetchAll(PDO::FETCH_ASSOC)
array(2) {
[0]=>
array(8) {
["user_id"]=>
string(1) "4"
["last_activity"]=>
string(10) "1367361208"
["status"]=>
string(1) "1"
["username"]=>
string(4) "WiS3"
["gender"]=>
string(1) "1"
["a_last_update"]=>
string(10) "1365785841"
["user_level"]=>
string(1) "6"
["level_color"]=>
string(6) "FC0000"
}
[1]=>
array(8) {
["user_id"]=>
string(2) "19"
["last_activity"]=>
string(10) "1367359866"
["status"]=>
string(1) "2"
["username"]=>
string(5) "Admin"
["gender"]=>
string(1) "1"
["a_last_update"]=>
string(10) "1366690422"
["user_level"]=>
string(1) "7"
["level_color"]=>
string(6) "008AFF"
}
}
由于行数组是数字,要从中获取数据,我必须$row[0][field]
,$row[1][field]
但是我希望它是使用user_id
的关联,所以我可以做$row[user_id][field]
有可能吗?我该怎么做?
答案 0 :(得分:2)
抱歉,没有内置功能。你必须使用PDOStatement::fetch()
并自己填充数组:
$result = array();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
// note that $row['user_id'] will currently a string
// if you need integers as indexes then use intval($row['user_id']);
$result[$row['user_id']] = $row;
}
// dump all records
var_dump($result);
// dump username of user with uid = 4
var_dump($result['4']['username']);
答案 1 :(得分:0)
它已经是一个关联数组,包含几个不同的记录。
使用foreach
分别获取每条记录:
foreach($rows as $id => $row)
{
echo "Record n°" . $id . ": " . $row['user_id'] . "<br>";
}