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

Php MySQL-获取字段值等于foreach值的行,php,mysql,Php,Mysql,我只想获取与foreach值相关的数据。但em获取的结果为空。$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=my

我只想获取与foreach值相关的数据。但em获取的结果为空。$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;
    }
    }

首选一个到基的查询。此外,您还忘记了查询中的字段<代码>国家。试着这样做:

   $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;
       }
   }

首选一个到基的查询。此外,您还忘记了查询中的字段<代码>国家。试着这样做:

   $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;
       }
   }

问题是什么,你做得对。@Yogeshuthar I em得到的结果是空的。这似乎并没有真正描述问题,也没有真正提出问题,所以我投票决定结束。我几乎没有这样做,因为你使用了“更正”这个词——这太棒了。@CutyPie你能发布
$user\u id
的值吗。可能是空的。使用
print\r($user\u id)
查看
$user\u id
的所有数据。问题是什么,你做得对。@Yogeshuthar I em得到的结果是空的这似乎并不能真正描述问题或提出问题,所以我投票决定关闭。我几乎没有这样做,因为你使用了“更正”这个词——这太棒了。@CutyPie你能发布
$user\u id
的值吗。可能是空的。使用
print\r($user\u id)
查看
$user\u id
的所有数据。请告诉我。别忘了转义POST数据。@keyboardSmasher问题不是关于验证数据的。但是如果我们谈论验证,
intval
将比转义更好。您只需添加
$user\u id=array\u map('intval',$user\u id)
@tyranon still emtyresults@Cuty馅饼您的$\u POST参数错误或不存在于base中…或您的字段国家/地区不存在于base中…您需要准确说出您想要看到的内容-
国家/地区
名称
?请告诉我。别忘了转义POST数据。@keyboardSmasher问题不是关于验证数据的。但是如果我们谈论验证,
intval
将比转义更好。您只需添加
$user\u id=array\u map('intval',$user\u id)
@tyranon still emtyresults@Cuty馅饼您的$\u POST参数错误或不存在于base中…或者您的字段国家/地区不存在于base中…您需要准确说出您想要看到的内容-
country
name