如何使用上一个查询的结果进行查询?

How can I make a query with the result of the previous query?

这是我查询数据库的代码示例:

$query_db = $mysqli->prepare('SELECT DATA FROM db_table WHERE data = ?');
$query_db->bind_param('s', $data);
$query_db->execute();
$query_db->store_result();
$query_db->bind_result($result_query1);
$query_db->fetch();
$query_db->close();

我有下一个问题,如果我想用 $result_query1 进行查询,我应该使用上面发布的相同代码。

你可以把这几行做成一个函数并设置参数而不是隐匿或者如果它是固定数量的 SQL 而不是简单的 FOR

function loadData($previousData) {
    $query_db = $mysqli->prepare('SELECT DATA FROM db_table WHERE data = ?');
    $query_db->bind_param('s', $previousData);
    $query_db->execute();
    $query_db->store_result();
    $query_db->bind_result($result_query);
    $query_db->fetch();
    $query_db->close();
    return $result_query;
}

$dataSQL1 = loadData($data);
$dataSQL2 = loadData($dataSQL1);
$dataSQL3 = loadData($dataSQL2);
...
$dataSQLX = loadData($dataSQLX);

使用循环。

$all_results = [];
$data = 1;
$query_db = $mysqli->prepare('SELECT id FROM db_table WHERE common_data = ?');
$query_db->bind_param('s', $data);
$query_db->bind_result($result_query);
while (true) {
    $query_db->execute();
    if (!$query_db->fetch()) {
        break;
    }
    $all_results[] = $result_query;
    $data = $result_query;
}
print_r($all_results);