Reputation: 159
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"
}
}
Upvotes: 1
Views: 457
Reputation: 164
use $rows[]=$r['nomInteretUser'];
in your code than you get the right result. :)
if ($result->num_rows != 0) {
$rows=array();
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r['nomInteretUser'];
}
}
Upvotes: 2
Reputation: 3855
You can do this 2 ways:
Please update your current code like this
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r['nomInteretUser']; //Update here
}
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!
Upvotes: 1
Reputation: 6112
Simply update your code to :
if($result)
{
if ($result->num_rows != 0) {
$rows=array();
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r["nomInteretUser"];
}
}
}
Upvotes: 1