我有一个名为 users(user_id,name,surname)的表。在我的PHP代码中,获取一个包含如下值的数组:
<?php
$array = array();
while($e = mysql_fetch_array($favorites)){
$like_users = $e['user'];
$array[]=$like_users;
}
$arstring = implode(' ',$array);
?>
我想从表用户中选择姓氏和名称,他们的user_id等于这些数字作为$ array中的值存在。知道怎么做吗?
答案 0 :(得分:0)
尝试此查询
$sql='select name,surname from user where user_id in(?,?.....?)'
?
的数量等于数组的长度。
然后使用
$query=$con->prepare($sql);
$query->execute($array);
然后获取返回的行。
PS:在SO之前已经提出了创建具有可变数量参数的预准备语句,并且该方法与我所描述的相同。
答案 1 :(得分:0)
从一个数组中的SQL查询中收集所有user_id,然后将此数组与现有数组进行比较
<?php
$array = array();
while($e = mysql_fetch_array($favorites)){
// $e['user'] equal user_id
$array[$user_id]= $e['user'];
}
?>
我们使用$ array [$ user_id]将每个user_id保存到相应的数组索引,然后根据需要比较两个数组