我的数据库中有这两个表:
table_A: table_B:
id user id user
1 Mike 1 Mike
2 Dan 2 Dan
3 Tom 3 Tom
4 Lina 4 Lina
5 Cynthia
6 Sam
我正在使用此SQL查询来检测table_B中哪些用户不存在于table_A中,并选择那些用户(表A中不存在)ID:
SELECT table_B.id FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
我正在使用这个php脚本将id放入变量$ not:
$sql=" SELECT table_B.id FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A)";
$result = mysqli_query($con,$sql);
if (!$result) {
printf("Error: %s\n", mysqli_error($con));
exit();
}
while($row = mysqli_fetch_array($result)){
$not=$row[0];
}
现在,如果我想用我的SQL查询提取2个元素:
SELECT table_B.id, table_B.name FROM table_B WHERE table_B.id NOT IN (SELECT table_A.id FROM table_A);
如何使用上面的脚本将每个元素放在一个变量中,这样我就可以将每个元素插入到数据库的不同表中了?
答案 0 :(得分:2)
您可以将值放在多维数组中。
$not = array();
while($row = mysqli_fetch_array($result, MYSQLI_ASSOC)){
$not[] = array(
"id" => $row['id'],
"name" => $row['name']
);
}
echo $not[0]['id']; //Returns 5
echo $not[0]['name']; //Returns Cynthia
echo $not[1]['id']; //Returns 6
echo $not[1]['name']; //Returns Sam
答案 1 :(得分:0)
在您的查询中将table_B.id定义为user_id,将table_B.name定义为用户
然后在你的php中使用像这样的mysqli_fetch_object
while($row = mysqli_fetch_object($result)){
$not= $row;
//or if you want to store all the results use $not[] = $row; and define $not as array
}