MySQL - 获取字段值等于foreach值的行

时间:2012-11-16 04:39:59

标签: php mysql

我想只获取与foreach值相关的数据。但是得到空的结果。$ userid是一个数组,这就是为什么我需要为每个使用。请解释这个或建议任何替代方法。

   $user_id=$_POST['uid'];
    foreach($user_id as $user_idf){

    $sql=mysqli_query($db3->connection,"select *  from  profile  where uid='$user_idf'");
    while($row=mysqli_fetch_array($sql)){
        $num=$row['country'];

        echo $num;
    }
    }

1 个答案:

答案 0 :(得分:1)

首选的一个查询是首选。您在查询中也忘记了字段country。试试这个:

   $user_id=$_POST['uid'];
   $user_id = is_array($user_id)?$user_id:(array)$user_id;
   if(!empty($user_id)) {
       $sql=mysqli_query(
           $db3->connection,
           "select name, country from  profile 
            where uid in (".implode(', ', $user_id).")"
       );
       while($row=mysqli_fetch_array($sql)){
           $num=$row['country'];
           echo $num;
       }
   }