Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #6  
Antiguo 21-10-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.141
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Bien. No creo que interese mantener la conexión "activa". No lo digo con mucho conocimiento de causa, pero, para tratar con bases de datos MySQL, el proyecto WordPress, Menéame, y yo mismo... he usado siempre una adaptación de la clase ezSQL de Justin Vincent. Esto es así porque una vez que conoces esta clase ya no quieres otra cosa...

Mi adaptación de la clase la adjunto a continuación. Puede que te cueste entrarle, pero, como le llegues a entrar, te aseguro que no querrás otra cosa: al menos a mí me parece que es estupenda, vaya. Mira de bajarte la clase original para estudiarla, pero, como me parece que esta ha "crecido" bastante... echa un vistazo también a "mi adaptación", que te adjunto. (Si tienes algún problema avisa).

Pero, en fin, a lo que íbamos... no creo que merezca la pena mantener la conexión, entre otras cosas, por el gasto que pueda conllevar. Personalmente, ya digo, uso la clase que adjunto para comunicar con bases de datos MySQL. Precisamente, una de las variables globales de mi sistema guarda una instancia de dicha clase, mejor dicho, de una que deriva de ella, pero, para el caso es lo mismo.

Y el caso es que al inicio de mi sistema se requieren los archivos necesarios y se instancia dicha clase en una variable global. Mientras se van requiriendo archivos no es preciso hacer más: la variable global mantiene la instancia de la clase, con la conexión a la base de datos, de modo que puede uno usarla sin preocuparse de más.

Y, cuando "rediriges" a otro Script... dicho Script sí o sí ha de requerir el archivo donde se declara la variable global y se "construye" la clase (es en el constructor de la clase que se realiza la conexión a la base de datos). Pero, ya digo... proyectos como WordPress, Menéame y algunos que yo he llevado a cabo, más humildemente, no necesitan mantener la conexión a la base de datos hasta el punto que dices.

De todos modos, lo mismo que existe "mysql_connect()", existe también "mysql_pconnect()": la "p" es de "permanent", y se diferencia de "mysql_connect()", según la ayuda:

Cita:
Primero, durante la conexión, la función intenta primero encontrar un enlace persistente abierto con el mismo host, usuario y password. Si lo encuentra, devuelve el identificador de enlace en lugar de abrir otra conexión.

Segundo, la conexión no será cerrada cuando acabe la ejecución del script. El enlace permanecerá abierta para ser usado en el futuro (mysql_close() no cierra el enlace establecido con mysql_pconnect()).
Quiero decir que, efectivamente, existe la posibilidad de mantener una conexión con la base de datos de forma permanente, y digo yo (en mi ignorancia) que de algo habrá de servir... Pero, francamente, nunca me he visto en la necesidad de usarla, y, casi estoy por asegurar que tú tampoco lo necesitas para lo que pretendes hacer.

Así que lo dicho: una clase que se conecta con la base de datos, la selecciona y permite trabajar con ella... no tiene porqué "persistir" entre sesiones, sino que basta conque se "instancie" y haga su trabajo cada vez que esto sea necesario. Yo vengo funcionando así... WordPress... Menéame... también (de Menéame no estoy al cien por cien seguro porque hace tiempo que no miro su código), así que... tal vez tú tampoco necesites otra cosa.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 02-05-2008 a las 15:55:19.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
como acceder a un objeto si el nombre es pasado como un string marcelinux Varios 4 08-11-2007 00:20:39
Si yo hubiera sido... xander La Taberna 0 30-11-2006 03:32:25
Saber si un archivo ha sido modificado desde fuera ixMike Varios 7 11-09-2006 19:13:14
Como saber si un Formulario ha sido creado Durbed OOP 7 13-10-2005 13:06:28
Saber en qué path está mi ejecutable (sin usar el objeto Application) Feñiz OOP 2 17-02-2005 16:36:41


La franja horaria es GMT +2. Ahora son las 23:22:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi