Comunidad de diseño web y desarrollo en internet online

Llamada a una función en una clase

Citar            
MensajeEscrito el 27 Sep 2007 11:22 am
Hola! A ver si alguien me puede echar una mano con esta duda: Tengo la siguiente clase en php:

Código :


<?php

class funciones{

function validar_user($login,$clave){

$conexion = mysql_pconnect("localhost","usuario_gb", "clave") or trigger_error(mysql_error(),E_USER_ERROR); 

mysql_select_db("mi_base",$conexion);
$sql="SELECT * FROM usuarios WHERE login='$login' and clave='$clave' LIMIT 1";
$consulta = mysql_query($sql,$conexion) or die(mysql_error());
mysql_close($conexion);

return $consulta;
}  

}


Lo que quiero es conectar a la base de datos antes de ejecutar la consulta, para no tener que repetir siempre el mismo código en otras funciones que añada a la clase. He probado varias formas ($this->conectarBBDD(), y alguna otra) pero no me sale bien... :crap:

Alguna idea?? Muchas gracias !!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2007 12:31 pm
No logro entender del todo tu consulta.
Queres hacer una nueva función donde solo conectes a la base? Separar tu función validar_user en dos?

Lo primero que te preguntaria es cual es tu motivo para usar mysql_pconnect en lugar de mysql_connect, ya que el primero es una conexión permanente que necesita ser cerrada para liberar los recursos, en cambio el segundo no lo necesita.
Segundo, intuyo que lo que estas poniendo (o vayas a poner) en la clase funciones son funciones sueltas, por lo que no creo que sea necesario encapsularlas en una clase... bah, no se. Yo, cuando se trata de funciones que trabajan sueltas, acostumbro a no encapsularlas, no le veo la necesidad.
Y para funciones de base de datos yo separo la conexión con la ejecución de consultas de en funciones distintas

Por PabloHdS

251 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2007 01:28 pm
Hola! Antes de nada, gracias por tu ayuda. Lo del "mysql_pconnect" ha sido un despiste mio. Mi pregunta es como crear una función que me conecta a la BBDD en la clase. Algo como esto:

Código :

<?php

class funciones{

//Función para conectar a la BBDD
function conectarBBDD(){
$conexion = mysql_connect("localhost","usuario_gb", "clave") or trigger_error(mysql_error(),E_USER_ERROR); 
return conexion;

}
// Funcion para validar usuario (login)

function validar_user($login,$clave){

$this->conectarBBDD();

mysql_select_db("mi_base",$conexion);
$sql="SELECT * FROM usuarios WHERE login='$login' and clave='$clave' LIMIT 1";
$consulta = mysql_query($sql,$conexion) or die(mysql_error());
mysql_close($conexion);

return $consulta;
}  
}


Alguna segrencia? muchas gracias de nuevo!

Por Prometeo2006

122 de clabLevel



 

firefox
Citar            
MensajeEscrito el 27 Sep 2007 05:23 pm
Tip: mysql_query no requiere obligatoriamente el segundo parametro ;)

El tomará la ultima conexion que hiciste.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 27 Sep 2007 05:27 pm
La programacion orientada a objetos no es "agrupar funciones en una clase". Es un concepto. Creo que antes debes de leer un poco mas!

Por neohunter

Claber

563 de clabLevel

1 tutorial

 

Bogota, Colombia

opera
Citar            
MensajeEscrito el 27 Sep 2007 06:02 pm
La programacion orientada a objetos no es un concepto. Es un paradigma de programación. Creo que antes debes de leer un poco mas!

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

 

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