Almacenar e iterar sobre el resultado de la consulta en mysqli

Esta es mi consulta simple en PHP, usando el estilo orientado a objetos 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();

Esto funciona bien. Obtengo la lista de nombres recuperados de la declaración de selección.

Ahora, dentro del tiempo quiero usar el$name variable como parámetro para otra consulta, pero mysqli no lo permite, ya que tengo que cerrar la primera consulta y luego llamar a la segunda consulta.

Así que creo que tengo que almacenar el resultado de la primera consulta y luego iterar sobre el resultado llamando a una nueva consulta.

He probado lo siguiente:

$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]." ";
}

Pero esto no funciona. El código en el interior nunca se alcanza.

nótese bien: Quiero evitar el uso demulti_query().

Respuestas a la pregunta(2)

Su respuesta a la pregunta