Hola, estoy traduciendo una Web ASP a PHP y ahora toca sustituir los bucles. El bucle más habitual es este:
Código ASP:
Ver originalEventos_Sql = "Select * From Eventos Where Activo = 1 Order By Fecha "
Set Rs = Server.CreateObject("ADODB.Recordset")
Rs.Open Eventos_Sql, Conn,3,1
Do While Not Rs.Eof
Response.Write Rs("Id") & " - "
Response.Write Rs("Nombre") & "<br/>"
Rs.MoveNext
Loop
Rs.close
Set Rs = Nothing
Fácil, abro un recorset y lo recorro mientras que no sea fin de fichero, una vez concluido el bucle (no entra si devuelve EOF) cierro Recordset.
Bien, lo estoy sustituyendo por este código:
Código PHP:
Ver original$sql= "Select * From Eventos Where Activo = 1 Order By Fecha ";
foreach ($conn->query($sql) as $rs)
{
Echo $rs['Id'] . "\t";
Echo $rs['Nombre'] . "\n";
}
Funciona de maravilla, pero si después del for pongo un $rs->free() o $rs->Close() me da error
¿NO hay que cerrar o liberar nada?