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

Como lo solucionaría?

Estas en el tema de Como lo solucionaría? en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos días, estoy entrando a la POO y tengo este problema y pues no sé como solucionarlo. Código PHP: <?php class  DataAccess  {         var  $db ...
  #1 (permalink)  
Antiguo 11/03/2006, 06:49
 
Fecha de Ingreso: marzo-2006
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Exclamación Como lo solucionaría?

Buenos días, estoy entrando a la POO y tengo este problema y pues no sé como solucionarlo.
Código PHP:
<?php
class DataAccess {
        var 
$db;
        var 
$consulta;
        var 
$fetcharray;
        var 
$dbclose;
        function 
DataAccess ($host$name$pass$db) {
            
$this->db pg_connect("host=".$host." dbname=".$db." user=".$name." password=".$pass);
        }
        function 
query ($sql) {
            
$this->consulta pg_exec($sql);
            return 
$this->consulta;
        }
        function 
fetcharray () {
            if(
$row pg_fetch_array($this->consulta))
                return 
$row;
            else
                return 
false;
        }
//...
}
?>
Me manda esto: Fatal error: Call to a member function query() on a non-object in C:\Serv\www\prueba.php on line 8
Código PHP:
<?php
    
require_once('./lib/Config.php');//$dbhost,$dbuser,$dbpass,$dbname= ...
    
require_once('./lib/DataAccess.php');
    
$DB=new DataAccess ($dbhost,$dbuser,$dbpass,$dbname);
    
$uusuario 'Seba';

    function 
vuser($uusuario) {
    
$uno $DB->query("SELECT * FROM usuario WHERE u_usuario = '$uusuario'");
    if(
$ok $DB->fetcharray($uno))
        {   echo 
'existe';    }
    else
        {    echo 
'no existe';    } //Si es q $uusario ya existe.
    
}
    echo 
vuser($uusuario);
?>
¿Qué estoy haciendo mal?
  #2 (permalink)  
Antiguo 11/03/2006, 07:03
 
Fecha de Ingreso: abril-2004
Ubicación: Rosario, Argentina
Mensajes: 124
Antigüedad: 20 años
Puntos: 11
La variabel $DB tiene un alcance local dentro de la función.
Lo que vos estás haciendo es tratar de acceder a una variable global.

http://ar.php.net/manual/es/language...bles.scope.php

Leete eso que tiene información que te va a servir para resolver tu problema.

Saludos.
  #3 (permalink)  
Antiguo 11/03/2006, 23:36
 
Fecha de Ingreso: marzo-2006
Mensajes: 3
Antigüedad: 18 años, 1 mes
Puntos: 0
Muchas gracias =)
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 23:05.