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

Novato en objectos

Estas en el tema de Novato en objectos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Hola amigos como dice mi titulo soy novato en php poo, pero no en php estructurado, la cosa es q cree una clase , con ...
  #1 (permalink)  
Antiguo 04/02/2009, 07:24
Avatar de Sandino  
Fecha de Ingreso: octubre-2006
Mensajes: 277
Antigüedad: 17 años, 6 meses
Puntos: 1
Novato en objectos

Hola amigos como dice mi titulo soy novato en php poo, pero no en php estructurado, la cosa es q cree una clase , con un constructor que conecta a la base de dato(asi me lo pidieron), y varios metodos que hacen distintas consultas o funciones.La cosa es que puedo ejecutar el metodo, pero no me ejecuta la consulta, a ver si me pueden ayudar.Me ayudarian mucho gracias!!.
el codigo es:
Código PHP:
class funciones{
           var 
$servidor   "..";
        var 
$user         "..";
                 
bla bla
    
function __construct(){ 
        
$this->strConnect "dbname=$base host=$servidor user=$user password=$pass port=$puerto ";
        
$this->conexion     =     pg_connect($strConnect);
    }
function 
getavisos($idusuario,$pass){
    echo 
$sql="select * from usuario where idusuario= '".$idusuario."' and password= '".$pass."'";
    
$resultuser = @pg_exec($sql);
                if(
pg_NumRows($resultuser)>0){
                echo 
$sql2="select * from avisos_leidos where para= '".$idusuario."'";
                
$result = @pg_exec($conexion,$sql);
                return 
$result;
                }else{
                echo 
"error";
    }

}

y llamo a la clase asi

Código PHP:
$clase = new funciones();
$clase->getavisos(1,"la"); 
la cosa es q me imprime la primera consulta, pero no la primera.Gracias por su ayuda!
  #2 (permalink)  
Antiguo 04/02/2009, 09:26
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Novato en objectos

Tienes varios problemas, el primero es que al conectarte en __construct() asignas a $this->strConnect, pero te conectas con $strConnect, la cual no esta definida.

El otro problema es que no existe a mi conocimiento una función pg_exec, es pg_execute y actua sobre un prepared statement y sus parámetros son diferentes.

Te recomiendo leer el Manual de PHP la sección de Objetos ya que tienes varios errores en tu clase a nivel sintaxis (el uso de var ya esta deprecated).

Saludos
  #3 (permalink)  
Antiguo 04/02/2009, 09:36
Avatar de Sandino  
Fecha de Ingreso: octubre-2006
Mensajes: 277
Antigüedad: 17 años, 6 meses
Puntos: 1
Respuesta: Novato en objectos

ok muchas gracias lo solucione principalmente lo primero era el problema.
Gracias por el manual el problema que esta en ingles :SS
  #4 (permalink)  
Antiguo 04/02/2009, 10:55
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: Novato en objectos

Cita:
Iniciado por Sandino Ver Mensaje
ok muchas gracias lo solucione principalmente lo primero era el problema.
Gracias por el manual el problema que esta en ingles :SS
Estimado, tienes versión en tu idioma

Si haces www.php.net/comando te va a buscar el capítulo y en el idioma según tu navegador, por ej:

www.php.net/if

www.php.net/oop

PD: estuve viendo tu código, no sé si fue error del copy & paste, pero me parece que no estás usando bien la indentación del código, y eso es fundamental para que entiendas qué estás haciendo y cómo.

Algo como:

Código PHP:
<?php

class Aviso
{
    private 
$_servidor   "..";
    private 
$_user       "..";
    private 
$_password   "..";
    private 
$_port       "..";
    private 
$_base       "..";

    private 
$_conexion;

    public function 
__construct()
    {
        
$strConnect =
            
" dbname="  $this->base
            
." host="    $this->servidor
            
." user="    $this->user
            
." password =".$this->pass
            
." port="    .$this->puerto;

        
$this->_conexion     =     pg_connect($strConnect);
    }
    public function 
getAvisos($idusuario,$pass)
    {
        
$sql="select * from usuario where idusuario= '".$idusuario."' and password= '".$pass."'";

        
$resultuser pg_exec($this->_conexion$sql);

        if(
pg_num_rows($resultuser) > 0){
            
            
$sql2="select * from avisos_leidos where para= '".$idusuario."'";

            return 
pg_exec($this->_conexion,$sql);

        }else{
            echo 
"error";
        }
    }
}
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
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 04:44.