Ver Mensaje Individual
  #3 (permalink)  
Antiguo 18/06/2013, 08:34
mikehove
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 12 años, 6 meses
Puntos: 2
Busqueda Respuesta: Problema con clase en PDO

Hola Triby. Gracias por responder. Ahora ahondé más el tema.

Código:
class Helper {
	
//Propiedades	
    private $host      = 'localhost';
    private $user      = 'root';
    private $pass      = '';
    private $dbname    = 'pruebaarray';	
	
	private $dbh;
    private $error;
	
	private $router;
 
    public function __construct(){
        // Set DSN
        $dsn = 'mysql:host=' . $this->host . ';dbname=' . $this->dbname;	
		
        // Set options
        $options = array(
            PDO::ATTR_PERSISTENT    => true,
            PDO::ATTR_ERRMODE       => PDO::ERRMODE_EXCEPTION
        );	
		
        // Create a new PDO instanace
        try{
            $this->dbh = new PDO($dsn, $this->user, $this->pass, $options);
	    $this->setRouter();		
        }
        // Catch any errors
        catch(PDOException $e){
            $this->error = $e->getMessage();
        }
    }
	
	   public function setRouter() {//Le cargo a 'router' los valores de inicialización	   
           $resultsColumn  = $this->getColumn();//Selecciono la 2nda columna	
           $resultsContent = $this->getContent();//Selecciono la 3nda columna
           return $resultsContent;//Retorna 3nda columna
           return $resultsColumn;//Retorna 2nda columna
	   }
	  
	    public function getColumn() {		 
           $stmt = $this->dbh->prepare('SELECT * FROM arrayurl WHERE arrayUrl_name=arrayUrl_name');//Preparo la consulta   
           $stmt->execute() ;	  
           return $stmt->fetchAll(PDO::FETCH_COLUMN,2);//Obtener la 3nda columna de la tabla 
	   }
	   
	    public function getContent() {		 
           $stmt = $this->dbh->prepare('SELECT * FROM arrayurl WHERE arrayUrl_content=arrayUrl_content');//Preparo la consulta  
           $stmt->execute() ;	  
           return $stmt->fetchAll(PDO::FETCH_COLUMN,3);//Obtener la 4nda columna de la tabla (Esto se cuenta desde base 0, en este caso:3)
	   }
}

//Instanceo Helper
$db = new Helper();

//Consultas:

$resultsColumn = $db->getColumn();//Selecciono la 2nda columna
print_r($resultsColumn);//Imprimo 2nda columna

$resultsContent = $db->getContent();//Selecciono la 3nda columna
print_r($resultsContent);//Imprimo 3nda columna

Voy a hacer más específico: Aparentemente el problema lo tengo con cómo recorrer los resultados para llenar $router.

¿Alguna idea por favor?

Última edición por mikehove; 18/06/2013 a las 09:10