Comunidad de diseño web y desarrollo en internet online

Duda con abrir y cerrar conexión a DB

Citar            
MensajeEscrito el 23 May 2006 08:29 am
Hace poco que empecé con esto de las Clases y PHP y tengo algunas dudas sobre la forma de trabajar. Veamos esta situación:

index.php
- abro las bases de datos usando $sql_conn = mysql_connect...
- incluyo la clase Noticias
- proceso la informacion... etc
- cierro la base de datos.


Clase Noticias
- declaro como Global la variable $sql_conn
- funciones de leer, grabar datos...


Mis preguntas serían:
- Al inicio del PHP abro la base de datos, ¿tengo que cerrarla al final? ¿Hace falta cerrarla? ¿SI la cierro no pierdo algún cache o algo que reste algo de rendimiento al proceso?

- Al abrir la BD creo la variable $sql_comm, que luego tengo que usarla dentro de las clases que leen datos (Noticias), para eso en el Constructor hago este proceso:

Código :

global $sql_conn;
$this->sql_conn = $sql_conn;

¿Es correcto esto? Sé que funciona porque lo estoy usando así, pero no sé si habrá mejores formas de hacerlo.

Bueno, son unas dudas un poco raras, al que sepa algo le agradezco de antemano!

Por Josepzin

208 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 23 May 2006 02:37 pm
La verdad no entendi muy bien, pero la conexion a mysql debe estar abierta la menor cantidad de tiempo posible, lo ideal es: abrir la conexion, ejecutar sentencia y cerrar, no hacer ninguna operacion entre esos pasos.

Cuando cierras la conexion hay cosas que no podras usar, por ejemplo, algo que siempre me pasaba es tratar de utilizar mysql_insert_id luego de cerrar la conexion, pero son casos muy especificos y todos tiene solucion.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 23 May 2006 05:51 pm
No soy muy bueno explicandome... jeje.
Me has respondido el tema de la conexión de la BD.

Lo que hago actualmente es abrir la conexión al principio del codigo PHP, y ahora mismo no la cierro en ningun momento. Supongo que tendré que incluir el código de cierre al terminar los procesos de lectura/escritura.

Por Josepzin

208 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 07 Jun 2006 03:30 pm

Maikel escribió:

la conexion a mysql debe estar abierta la menor cantidad de tiempo posible, lo ideal es: abrir la conexion, ejecutar sentencia y cerrar, no hacer ninguna operacion entre esos pasos.


Entonces, por ejemplo si tengo la CLASE "Usuarios", en el constructor abro la BD, hago las lecturas y luego cierro la BD?

Y si luego en la misma página uso otra CLASE "Productos" vuelvo a abrir la BD, leer y cerrar?

Por Josepzin

208 de clabLevel



 

España

firefox
Citar            
MensajeEscrito el 07 Jun 2006 04:19 pm
Crea una clase que controle MySQL

Saludos

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

firefox
Citar            
MensajeEscrito el 07 Jun 2006 04:26 pm
sip, recuerda solo mantener la conexion abierta el menor tiempo posible, lo ideal seria algo como esto:

Código :

$conn= mysql_connect("host","user","pass");
mysql_select_db("database",$conn);
$result= mysql_query($sql);
mysql_close();


saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.