elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  La mejor forma de cerrar una conexión
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: La mejor forma de cerrar una conexión  (Leído 2,260 veces)
dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
La mejor forma de cerrar una conexión
« en: 14 Mayo 2011, 22:30 pm »

Imaginaros que tenemos esta consulta:

Código
  1. $sql="SELECT * FROM comercios_venden_maria";
  2. $resultado = mysql_db_query($db_name, $sql);
  3. $valor = mysql_fetch_array($resultado);
  4. RETURN $valor["cookies"];
  5.  

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 :-)


En línea




Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.719


$M


Ver Perfil WWW
Re: La mejor forma de cerrar una conexión
« Respuesta #1 en: 14 Mayo 2011, 23:30 pm »

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.
Código
  1. mysql_close( $sHandler );

También sería correcto hacer lo siguiente,
Código
  1. $sSQL = "SELECT * FROM tbl1;";
  2. $sQuery = mysql_query( $sSQL );
  3.  
  4. $sSQL = "SELECT * FROM tbl2;";
  5. $sQuery = mysql_query( $sSQL );
  6.  
  7. #ETC...

O en su defecto, como se utilizará varias consultas se prefiere usar POO!

Código
  1.    function sExecQuery( $sSQL, $sReturn = true ){
  2.      $sQuery = mysql_query( $sSQL, $this->sHandler );
  3.      if( $sQuery ){
  4.        while( $sRows = mysql_fetch_array( $sQuery, MYSQL_NUM ) ){
  5.          $sReturnData[] = $sRows;
  6.        }mysql_free_result( $sQuery );
  7.        if( $sReturn ){ return $sReturnData; }else{ return true; }
  8.      }else{ return "<b>Error: </b>".mysql_error(); }
  9.    }


« Última modificación: 14 Mayo 2011, 23:32 pm por Shell Root » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
~ Yoya ~
Wiki

Desconectado Desconectado

Mensajes: 1.125



Ver Perfil
Re: La mejor forma de cerrar una conexión
« Respuesta #2 en: 15 Mayo 2011, 01:13 am »

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.
En línea

Mi madre me dijo que estoy destinado a ser pobre toda la vida.
Engineering is the art of balancing the benefits and drawbacks of any approach.
dimitrix


Desconectado Desconectado

Mensajes: 4.846



Ver Perfil WWW
Re: La mejor forma de cerrar una conexión
« Respuesta #3 en: 16 Mayo 2011, 12:49 pm »

Ok, entonces sería así lo primero que dices?:

Código
  1. $sql="SELECT * FROM comercios_venden_maria";
  2. $resultado = mysql_db_query($db_name, $sql);
  3. $valor = mysql_fetch_array($resultado);
  4. RETURN $valor["cookies"];
  5. mysql_close( $resultado );
  6.  

Y digo yo una cosa sobre:
Código
  1. $sSQL = "SELECT * FROM tbl1;";
  2. $sQuery = mysql_query( $sSQL );
  3.  
  4. $sSQL = "SELECT * FROM tbl2;";
  5. $sQuery = mysql_query( $sSQL );
  6.  
  7. #ETC...
  8.  

¿No tendrías que cerrar la sesión en algún momento? No sería mejor lo siguiente?:
Código
  1. $sSQL = "SELECT * FROM tbl1;";
  2. $sQuery = mysql_query( $sSQL );
  3. mysql_close( $sQuery );
  4.  
  5. $sSQL = "SELECT * FROM tbl2;";
  6. $sQuery = mysql_query( $sSQL );
  7. mysql_close( $sQuery );
  8.  
  9. #ETC...
  10.  

Muchas gracias a los dos :-)
En línea




Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda al cerrar la conexion mysql desde php
PHP
mit 4 11,778 Último mensaje 21 Diciembre 2008, 23:11 pm
por mit
Es la mejor forma de hacer el programa?? (C++)
Programación C/C++
Danyel_Casvill 2 2,798 Último mensaje 14 Abril 2011, 03:15 am
por Danyel_Casvill
Mejor forma de almacenamiento SqlServer
.NET (C#, VB.NET, ASP)
neoncyber 2 1,565 Último mensaje 10 Mayo 2011, 23:05 pm
por neoncyber
sslstrip & arpspoof (cerrar conexión) « 1 2 3 »
Hacking
rigg 20 13,069 Último mensaje 4 Enero 2012, 04:44 am
por thedevilini
Cerrar conexion tcp
Programación C/C++
Pinkofito 5 1,413 Último mensaje 14 Octubre 2014, 18:08 pm
por ivancea96
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines