使用 php 提取多个元素

Extracting several elements using php

我的数据库中有这两个 table:

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 中不存在,以及 select 那些用户(不存在于table A) ids:

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);

如何使用上述脚本将两者都放置在一个变量中,这样我就可以将每个元素插入到数据库中的不同 table 中?

您可以将值放在多维数组中。

$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

在您的查询中将 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

}