我有以下查询
$sql = "SELECT nomInteretUser from userInteret where idUser='$id_user' ";
$result = $conn->query(sprintf($sql));
我想生成一个具有以下结构的数组:array ('User1','User2')
我试过这个:
if ($result->num_rows != 0) {
$rows=array();
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r;
}
}
但它给出了以下结果:
{
array(1) {
["nomInteretUser"]=> "foot"
}
array(1) {
["nomInteretUser"]=> "cyclisme"
}
}
答案 0 :(得分:2)
在代码中使用$rows[]=$r['nomInteretUser'];
而不是获得正确的结果。 :)
if ($result->num_rows != 0) {
$rows=array();
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r['nomInteretUser'];
}
}
答案 1 :(得分:1)
只需将您的代码更新为:
if($result)
{
if ($result->num_rows != 0) {
$rows=array();
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r["nomInteretUser"];
}
}
}
答案 2 :(得分:1)
你可以这两种方式:
请更新您当前的代码
while($r=mysqli_fetch_assoc($result))
{
$rows[]=$r['nomInteretUser']; //Update here
}
如果您不想更新当前代码然后修改代码,请使用array_column()(>= PHP 5.5
必填)
$rows = array_column($rows, 'nomInteretUser');
希望它有所帮助!
答案 3 :(得分:-1)
请用
替换您的代码if ($result->num_rows != 0) {
$rows=array();
$i = 0;
while($r=mysqli_fetch_assoc($result))
{
$rows[$i]=$r;
$i++;
}
}