简体   繁体   中英

Create array in PHP from mysql

I think that I may be over trying things with little sleep but I am having problems creating arrays from mysql queries. I have a query like so:

$result = mysqli_query($con,"SELECT * FROM vehicles ORDER BY id");
while($row = mysqli_fetch_array($result)) {
    $description = $row['description'];
    $description = strtoupper($description);
    $id = $row['id'];
}

I want it to create an array like so:

$v[1] = "Myarray1";

I have tried this but it does not work:

$v[ $row['id']] = $row;

Do I have to query like this:

while( $row = mysql_fetch_assoc( $result)){}

and if I do, how I do create the array as I need it?

Many thanks in advance

At no point are you creating an array here. In your loop you are simply modifying some variables that in the context you posted I cannot reason on.

If all you need, no data filtering whatsoever this will do:

$list = Array();
while( $row = mysqli_fetch_array($result) ) {
   $list[] = $row;
}

[] basically 'appends' in PHP, it is an ugly mechanism but it works.

If you want to access rows per primary key ( id in your case I think ) then simply replace [] with [$row["id"]]

I'm not exactly sure of the end result you're looking for. But if you want to access the results as $row['column'], where 'column' is a column name in your MySQL database, then you need to use mysql_fetch_assoc. I think this example will help:

while (($row = mysqli_fetch_assoc($result))) {
   $v[$row['id']] = $row;
}

$v[1]['description'] is the data in the column description for the record with an id=1

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM