我有一个包含大量用户ID的数组:
array('1,2,3,4')
我需要将这些用户ID与users表中的id列匹配,并创建包含其中first_name和last_name的数组。我知道LEFT JOIN可能就是我必须使用的东西,但我无法弄清楚如何循环它。我前一段时间尝试过foreach(抱歉,删除了代码),但无法让它工作。有什么想法吗?
感谢。
答案 0 :(得分:0)
尝试以下方法:
$arr = array('1,2,3,4');
$result = array();
$results = mysql_query("SELECT id,first_name,last_name FROM table_name WHERE id IN (".$arr.")");
if(mysql_num_rows($results) > 0) {
while($row = mysql_fetch_assoc($results)) {
$result[] = $row;
}
}
echo '<pre>';
print_r($result);
echo '</pre>';
答案 1 :(得分:0)
Mysqli扩展程序。试试这段代码:
$userIds = array(1,2,3,4);
$users = array();
con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM users
WHERE id in ('".implode(',',$userIds)."')");
$count=0;
while($row = mysqli_fetch_array($result)) {
$users[$count]['FirstName'] = $row['FirstName'];
$users[$count]['LastName'] = $row['LastName'];
$count++;
}
print_r($users);//result