Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Ayuda (Primer objecto en php) :)

Estas en el tema de Ayuda (Primer objecto en php) :) en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola, soy un novato en php (programaba en asp y asp.net) antes. Ahora estoy estudiando este interesante lenguaje.. Estoy intentando crear una clase para conectarme ...
  #1 (permalink)  
Antiguo 02/12/2008, 02:08
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
Pregunta Ayuda (Primer objecto en php) :)

Hola, soy un novato en php (programaba en asp y asp.net) antes.
Ahora estoy estudiando este interesante lenguaje..
Estoy intentando crear una clase para conectarme a la db y recuperar datos.
El problema es que la consulta no me llena nada...

Código:
class db_mysql{
	private $server;
	private $usuario;
	private $password;
	private $db;
	private $descriptor;
	private $estado;// Booleano con el estado de la conexion a la db
	private $mensaje; // String con el mensaje de estado a la db
	private $resultado;
	private $fila;
	
	 private function set_estado($estado){
	$this->estado=$estado;
	}
	 private  function set_mensaje($mensaje){
	$this->mensaje=$mensaje;
	}
	
	 function get_estado(){
	return($this->estado);
	}
    function get_mensaje(){
	return($this->mensaje);
	}
	
	
	
	// funcion constructora
	public function db_mysql($server,$usuario,$password,$db){
	// asignamos los valores
		$this->server=$server;
		$this->usuario=$usuario;
		$this->password=$password;
		$this->db=$db;
		// tratamos de conectar
		$this->conectar();
		
	}
		public function conectar() {

		// primer paso, declarar el 
		// descriptor
		
	if ($this->descriptor = mysql_connect($this->server,$this->usuario,$this->password))  {
		mysql_select_db($this->db,$this->descriptor);
		$this->set_estado("True");
		$this->set_mensaje("ok");
	} 
else{
	$this->ERROR();
}

	
	}
	private function ERROR(){
		$this->set_estado("False");
		$this->set_mensaje("Error");
		}
// recuperar datos
public function consulta($consulta){
        $this->resultado = mysql_query($consulta,$this->descriptor);
      // imprimir datos
      if ( $this->resultado==""){
      	echo("nada");
      }	else {
      	 	echo("recupero algo!");
      }
      
		}
public function extraer_registro ()
{
        if ($fila = mysql_fetch_array($this->resultado,MYSQL_ASSOC)){
                     return $fila;
        } else {
                     return false;
        }
}






	
// fin de la clase
}
$mi_db=new db_mysql("localhost","admin","password","prueba");
$mi_db->consulta("select * from usuario");
El problema creo que está en:

$this->resultado = mysql_query($consulta,$this->descriptor);

La variable $resultado, queda vacia.
Gracias x cualquier sugerencia.
Saludos desde argentina.
  #2 (permalink)  
Antiguo 02/12/2008, 02:59
 
Fecha de Ingreso: octubre-2004
Mensajes: 2.627
Antigüedad: 19 años, 6 meses
Puntos: 48
Respuesta: Ayuda (Primer objecto en php) :)

Haz un mysql_error() donde el echo "nada" para ver el error de mysql. Ademas, mysql_query() devuelve false en caso de error, no cadena vacia.
  #3 (permalink)  
Antiguo 02/12/2008, 07:31
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 18 años, 11 meses
Puntos: 32
Respuesta: Ayuda (Primer objecto en php) :)

Cita:
Hola, soy un novato en php (programaba en asp y asp.net) antes.
Ahora estoy estudiando este interesante lenguaje..
Estoy intentando crear una clase para conectarme a la db y recuperar datos.
El problema es que la consulta no me llena nada...
Que tal Polloarg

Primer sugerencia, adopta el estándar de codificación para PHP definido por Zend:

http://framework.zend.com/wiki/display/ZFDEV/PHP+Coding+Standard+(draft)

Cita:
La variable $resultado, queda vacia.
Gracias x cualquier sugerencia.
Saludos desde argentina.
Igual, independientemente del lenguaje, cada desarrollador debe ser lo suficiente metódico como para seguir el trazo de lo que ocurre y detectar donde falla (esto más que una consulta del lenguaje es de programación en general).

Si te llega vacío el resultado y no tuviste ningún error, revisa si la consulta sql que estás intentando ejecutar retorna datos, imprimela en pantalla y ejecuta contra un cliente directo a la base (no asumas nada, imprime la misma consulta que usa tu código).
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #4 (permalink)  
Antiguo 02/12/2008, 16:34
 
Fecha de Ingreso: diciembre-2008
Mensajes: 5
Antigüedad: 15 años, 4 meses
Puntos: 0
De acuerdo Respuesta: Ayuda (Primer objecto en php) :)

Hola, gracias por la respuesta.
Ya estoy leyendo sobre el estándar de codificación para PHP.
El error estaba en la instrucción sql, que es case sensitive. La tabla
se llama Usuario y no usuario...
desde ya muchas gracias x las sugerencias!
Saludos
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 07:03.