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()
.