user3070123 user3070123 - 6 months ago 12
PHP Question

Format array from sql query result

I have the following query

$sql = "SELECT nomInteretUser from userInteret where idUser='$id_user' ";
$result = $conn->query(sprintf($sql));


I want to produce an array with following structure:
array ('User1','User2')


I have tried this :

if ($result->num_rows != 0) {
$rows=array();
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r;
}
}


But it gives following result:

{
array(1) {
["nomInteretUser"]=> "foot"
}
array(1) {
["nomInteretUser"]=> "cyclisme"
}
}

Answer

You can do this 2 ways:

  1. Please update your current code like this

    while($r=mysqli_fetch_assoc($result))
    { 
        $rows[]=$r['nomInteretUser'];  //Update here
    }
    
  2. If you don't want to update your current code then modify code, then use array_column() (>= PHP 5.5 Required)

    $rows = array_column($rows, 'nomInteretUser');

Hope it helps!