Foros del Web » Programando para Internet » PHP »

error mysql_connect

Estas en el tema de error mysql_connect en el foro de PHP en Foros del Web. Me esta dando este error: Warning: mysql_connect(): Too many connections in /misitio/funciones.php on line 67 Desde una pagina con un formulario "formulario.php" llamo a la ...
  #1 (permalink)  
Antiguo 01/06/2004, 14:08
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 5 meses
Puntos: 2
error mysql_connect

Me esta dando este error:

Warning: mysql_connect(): Too many connections in /misitio/funciones.php on line 67


Desde una pagina con un formulario "formulario.php" llamo a la pagina "insertar.php" y da el error arriba indicado.

dentro de la pagina "inserta.php" tiene el siguiente código:

include("../funciones.php");
$link=conectarse();
$sql=" ... ";
$result=mysql_query($sql,$link);
  #2 (permalink)  
Antiguo 01/06/2004, 14:21
Avatar de Bizo21  
Fecha de Ingreso: abril-2004
Ubicación: Valdivia
Mensajes: 93
Antigüedad: 20 años
Puntos: 1
pero que sale en la linea 67
o tambien puede tener mala la ruta en insertar.php
include("../funciones.php");
  #3 (permalink)  
Antiguo 01/06/2004, 14:52
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 5 meses
Puntos: 2
la cuestión es que tengo en un fichero funciones.php los siguiente:

function conectarse()
{
if (!($link=mysql_connect("localhost","","")))
exit();
if (!mysql_select_db("db",$link))
exit();
return $link;
}

y luego en el fichero inserta.php tengo:

...
include("../funciones.php");
$link=conectarse();
...

cada vez que llame a inserta.php me ejecutará conectarse().
¿Es necesario llamar a conectarse() cada vez que voy a realizar un query?
¿De que forma puedo hacer una sola vez el conectarse() y que luego me sirva para todas las páginas de mi sitio en la que realizo query?
  #4 (permalink)  
Antiguo 01/06/2004, 15:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Los problemas de "demasiadas conexiones" no depende de tu código PHP sino de la "saturación" de ese servidor Mysql en ese instante.

Usas algún servicio de hosting gratuito? lease .. mi@ (webcindario - miarroba) ...? o es tu PC el "servidor" que soporta Mysql?

Un saludo,
  #5 (permalink)  
Antiguo 02/06/2004, 10:34
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 5 meses
Puntos: 2
Si, lo estoy probando en webcindario.com.

Y volviendoa mi pregunta ¿Es aconsejable realizar una sola conexión a mi base de datos y luego trabajar en todas las páginas con esa conexión o es preferible ejecutar la conexión cada vez que voy a realizar un query?

Si lo aconsejable fuese crear una sola conexión ¿Como debería hacer para crear la conexión y que luego la pueda utilziar cada página de mi sitio?

Gracias.
  #6 (permalink)  
Antiguo 02/06/2004, 12:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El tema de las conexiones no lo gestionas tu (PHP) directamente .. es Mysql el que según el cliente conectado (por IP) si es que usas conexiones persistentes (mysql_pconnect() ) el que seguirá usando la conexión anterior o establecerá una nueva.

En conexiones normales tipo mysql_connect() .. al terminar tu script (la ejecución de este) PHP cierra toda conexión a tu BD, sockets .. y libera memoria usada por tus variables ..

Un saludo,
  #7 (permalink)  
Antiguo 02/06/2004, 14:39
 
Fecha de Ingreso: noviembre-2003
Mensajes: 383
Antigüedad: 20 años, 5 meses
Puntos: 2
De acuerdo

Entonces si quiero crear una conexión persistente para poder crearla al acceder al sitio y eliminarla al salir que debo hacer.
Supongamos que tengo index.php 2.php 3.php 4.php.
Al entrar en indes.php quiero crear la conexión y con esa misma poder acceder a mysql cuando este en las otras paginas.
Luego al salirme desde cualquiera de las paginas eliminar la conexión.

Gracias.
  #8 (permalink)  
Antiguo 02/06/2004, 16:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. para empezar en miarroba no creo que te dejen crear conexiones persistentes (igualmente pruebalo)

De todas formas .. la conexión persistente ya te he comentado que no la manejas TU con tu programación .. tu simplemente la abres en algún momento y Mysql ya se encargará de pasarla a "sleep" cuando no se use (las conexiones persistentes no se cierran con mysql_close() como las normales).

A todo esto .. no te va a evitar tener que usar igualmente mysql_pconnect() .. donde quieras usar tu BD .. ES Mysql el que se encarga de gestionar el "link" de conexión . .no tu.

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:02.