Speichern und durchlaufen Sie das Ergebnis der Abfrage in mysqli

Dies ist meine einfache Abfrage in PHP unter Verwendung des objektorientierten Stils von mysqli:

$query = "SELECT name FROM usertable WHERE id = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$id= $_GET['id'];
$stmt->execute();
$stmt->bind_result($name);

while($stmt->fetch()){
   echo $name." ";
}

$stmt->free_result();
$stmt->close();

Das funktioniert gut. Ich erhalte die Liste der Namen, die aus der select-Anweisung abgerufen wurden.

Nun, in der Zeit will ich das benutzen$name Variable als Parameter für eine andere Abfrage, aber mysqli erlaubt dies nicht, da ich die erste Abfrage schließen und dann die zweite Abfrage aufrufen muss.

Ich denke also, ich muss das Ergebnis der ersten Abfrage speichern und dann über das Ergebnis iterieren, indem ich eine neue Abfrage aufrufe.

Ich habe Folgendes versucht:

$query = "SELECT name FROM usertable WHERE id = ?";
$stmt = $mysqli->prepare($query);
$stmt->bind_param('i', $id);
$id= $_GET['id'];
$stmt->execute();
//$stmt->bind_result($name);
$result = $stmt->store_result();
$stmt->free_result();
$stmt->close();

while ($row = $result->fetch_row()) 
{
    echo $row[0]." ";
}

Das geht aber nicht. Der Code in while wird nie erreicht.

N.B.: Ich möchte die Verwendung von vermeidenmulti_query().

Antworten auf die Frage(2)

Ihre Antwort auf die Frage