Problema con PHP ¿me ayudais? es urgente

Hola a todos, igual este no es el lugar o tal vez es un lugar incoveniente, revise los foro y no he encontrado otro mejor, como sé que aqui hay gente muy maja que echa la mano en cuanto puede, pues... aqui voy con mi pregunta (Mis disculpas si no es lugar, o si es inconveniente, pues se borrar el mensaje y ya).

Bueno, el caso es que tengo una pagina con un pequeño script en php y me esta dando errores de demasiadas conexiones a la base de datos, cosa que no es posible porque tantas, no tiene, asi que -creo- la cuestion es que deja conexiones abiertas, pero no sé como arreglarlo, pasteo el codigo que me da problemas:


$db_host = "localhost";
$db_user = "user";
$db_pass = "clave";
$db_base = "base";
$db_link = false;

function db_conectar(){
global $db_host;
global $db_user;
global $db_pass;
global $db_base;
global $db_link;

if(($db_link = mysql_connect($db_host, $db_user, $db_pass)))
return mysql_select_db($db_base);
return false;
}

function db_desconectar(){
if($db_link) mysql_close($db_link);
}

?>


La cosa es que soy novatisima en el asunto y no sé como arreglarlo ¿Podriais echarme una mano?. Indicandome el codigo correcto y donde colocarlo, estoy desesperada ya.


Muchas gracias y un saludo a todos
Esto va en PC -> Varios
Esto lo mejor es que lo preguntes aquí:

www.maestrosdelweb.com

en su sección php, lógicamente. Para mí, es al mejor y más grande comunidad de webmasters en español, y seguro que te echan una mano y te lo solucionan todo en un periquete.

Suerte.
Mira para la conexión:
Te creas un archivo funciones.php y pones esto:
[PHP]
function conbd(){
if (!($link=mysql_connect("localhost","usuario","password"))) { echo "Error en la conexión, ciruelo.net les ruega disculpen las molestias"; exit(); }
if (!mysql_select_db("nombre_db",$link)) { echo "error seleccionando"; exit(); }
return $link;
}
?>
[/PHP]

y después en las páginas php lo llamas así:
[PHP]
require("funciones.php");
$link=conbd();
?>
[/PHP]

haces la consulta y cierras

[PHP]
$frases=mysql_query("SELECT * FROM frases ORDER BY Rand() LIMIT 1",$link);
$ffila=mysql_fetch_array($frases);
echo $ffila["autor"];
echo '' . $ffila["frase"] . '';
mysql_free_result($frases);
mysql_close($link);
[/PHP]
Despues de la consulta y mostrar resutados, el mysql_free_result me libera el resultado y mysql_close cierra la conexión.

Espero te haya servido de ayuda.
3 respuestas