PDA

Ver la Versión Completa : mysql_close() - ¿Es Necesario?


D-MO
01-02-2006, 00:48:41
En este momento estava revisando el archivo de los foros y me tope con que el mysql_close() no es necesario, pueden ver este en el siguiente enlace: http://www.clubdelphi.com/foros/archive/index.php/t-984.html, Si no es necesario, ¿Porqué existe? ¿Cual es la diferencia entre usarlo y no? ¿Nos afecta en algo?

Gracias al que pueda responderme estas preguntas.

Saludos.

jachguate
01-02-2006, 04:22:32
Si no es necesario, ¿Porqué existe? ¿Cual es la diferencia entre usarlo y no? ¿Nos afecta en algo?


mysql_close() cierra el enlace con la base MySQL que esta asociada con el identificador de enlace específicado. Si no se específica el identificador de enlace, se asume por defecto el último enlace.

Nota: Normalmente no es necesario ya que la aperturas no-persistentes son cerradas automaticamente al final de la ejecución del script. Vea tambié liberar recursos.

mysql_close() no cerrará los enlaces persistentes generados con mysql_pconnect().


Yo diría que existe para darte control. Si estas en un ambiente donde el servidor se satura, por ejemplo porque corres procesos que toman demasiado tiempo y recursos, puede ser útil cerrar la conexión a la base de datos para evitar sobrecarga innecesaria, por poner un ejemplo.

Saludos

D-MO
01-02-2006, 06:15:12
Muchisimas gracias compadre.

Saludos.

Xianto
01-02-2006, 21:12:12
Ademas hay un pequeño detalle, que es que en Linux los procesos se utilizan por los llamados PID... en MySQL, el pid de conexión con la DB no se cierra automáticamente, esto trae dolores de cabeza a muchos administradores, asi que siempre cierra la conexión, sino en muchos host te llamaran la atención !!!

El uso correcto, seria algo así:

$db = mysql_connect ($dbhost, $dbuser, $dbpw) or header("Location: ./fallo.html");
$dbdata = mysql_select_db($dbname);
$rs1=mysql_query("select ......");

//......Resto de la página.......

mysql_free_result($rs1);
mysql_close($db);
$db = null;
$rs1 = null;


Es complicado, pero la transacción de MySQL dura un rato... jejejeje

Saludos !