I want to make an array from mysql database. This is my table data:
+--------+-------+--------+--------+
| order | id | name | age |
+--------+-------+--------+--------+
| 12 | 121 | fred | 23 |
| 12 | 122 | sam | 24 |
| 12 | 123 | joe | 42 |
| 12 | 124 | alan | 33 |
+--------+-------+--------+--------+
The array should look in the end like this:
array(4) {
["121"]=>
array(2) {
["name"]=>
string(4) "fred"
["age"]=>
string(2) "23"
}
["122"]=>
array(2) {
["name"]=>
string(3) "sam"
["age"]=>
string(2) "24"
}
["123"]=>
array(2) {
["name"]=>
string(3) "joe"
["age"]=>
string(2) "42"
}
["124"]=>
array(2) {
["name"]=>
string(4) "alan"
["age"]=>
string(2) "33"
}
}
This is how I am creating the array:
$sql = "SELECT * FROM data WHERE order = '12'";
$q = $pdo->prepare($sql);
$q->execute();
$result = $sql->fetchAll();
var_dump($result);
But my result is:
array(4) {
[0]=>
array(20) {
["order"]=>
string(10) "12"
[0]=>
string(10) "12"
["id"]=>
string(32) "121"
[1]=>
string(32) "121"
["name"]=>
string(12) "fred"
[2]=>
string(12) "fred"
["age"]=>
string(32) "23"
[3]=>
string(32) "23"
}
[0]=>
array(20) {
["order"]=>
string(10) "12"
[0]=>
string(10) "12"
["id"]=>
string(32) "122"
[1]=>
string(32) "122"
["name"]=>
string(12) "sam"
[2]=>
string(12) "sam"
["age"]=>
string(32) "24"
[3]=>
string(32) "24"
}
and so on...
I do not know how to get the array into the right form