Imaginaros que tenemos esta consulta:
$sql="SELECT * FROM comercios_venden_maria";
$resultado = mysql_db_query($db_name, $sql);
$valor = mysql_fetch_array($resultado);
return $valor["cookies"];
1º ¿Cual sería la forma más correcta de desconectar la conexión? ¿Por qué es importante desconectarla?
2º ¿Se puede usar de nuevo la variable $sql, $resultado, $valor para hacer otras sentencias debajo de esa? (está claro que se puede y entiendo el funcionamiento de que la sobreescribe), pero ¿Está bien? ¿Es mejor hacerlo de otra forma?
Gracias, son dudas tontas, que siempre lo hago de una forma o de otra y quiero estar totalmente seguro.
gracias :-)
Sería correcto cerrar la conexión a la base de datos, esto se haría con el siguiente código implementado al final de cada script que interactue con la conexión.
mysql_close( $sHandler );
También sería correcto hacer lo siguiente,
$sSQL = "SELECT * FROM tbl1;";
$sQuery = mysql_query( $sSQL );
$sSQL = "SELECT * FROM tbl2;";
$sQuery = mysql_query( $sSQL );
#ETC...
O en su defecto, como se utilizará varias consultas se prefiere usar POO!
function sExecQuery( $sSQL, $sReturn = true ){
$sQuery = mysql_query( $sSQL, $this->sHandler );
if( $sQuery ){
while( $sRows = mysql_fetch_array( $sQuery, MYSQL_NUM ) ){
$sReturnData[] = $sRows;
}mysql_free_result( $sQuery );
if( $sReturn ){ return $sReturnData; }else{ return true; }
}else{ return "<b>Error: </b>".mysql_error(); }
}
Cita de: dimitrix en 14 Mayo 2011, 22:30 PM
1º ¿Cual sería la forma más correcta de desconectar la conexión? ¿Por qué es importante desconectarla?
Bueno eso depende... por defecto PHP cierra la conexión/es MYSQL al finalizar el script.
Pero si inicias varias conexiones MYSQL, es importante que la vayas cerrando para tener un mejor rendimiento.
Saludos.
Ok, entonces sería así lo primero que dices?:
$sql="SELECT * FROM comercios_venden_maria";
$resultado = mysql_db_query($db_name, $sql);
$valor = mysql_fetch_array($resultado);
RETURN $valor["cookies"];
mysql_close( $resultado );
Y digo yo una cosa sobre:
$sSQL = "SELECT * FROM tbl1;";
$sQuery = mysql_query( $sSQL );
$sSQL = "SELECT * FROM tbl2;";
$sQuery = mysql_query( $sSQL );
#ETC...
¿No tendrías que cerrar la sesión en algún momento? No sería mejor lo siguiente?:
$sSQL = "SELECT * FROM tbl1;";
$sQuery = mysql_query( $sSQL );
mysql_close( $sQuery );
$sSQL = "SELECT * FROM tbl2;";
$sQuery = mysql_query( $sSQL );
mysql_close( $sQuery );
#ETC...
Muchas gracias a los dos :-)