Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/11/2014, 11:02
Aaren
 
Fecha de Ingreso: abril-2014
Mensajes: 13
Antigüedad: 10 años
Puntos: 0
¿Conexion vacia?

Hola a todos! Les cuento que estoy haciendo algo simple (para aprender) con Bootstrap, PHP y MySQL. Y estoy teniendo un error al parecer con la conexion.

Me explico un poco mejor. Tengo el famoso "Call to a member function prepare() on a non-object". Y asumo que hay un problema con la clase que conecta a la base de datos, por lo que luego la variable que supuestamente lleva la conexion esta "null", y entonces el query no puede hacerse.
El tema es que no consigo ver donde está el problema. Les paso los códigos para ver si alguien puede iluminarme.

Esta es la clase de la conexión.

Código PHP:
<?php

class ConexionDB {
    private 
$_conexion="null";
    private 
$_usuario="root";
    private 
$_clave="root";
    
    public function 
_construct(){
        try {
        
$this->_conexion = new PDO("mysql:dbname=tutorial;host=localhost"$this->_usuario$this->_clave);
        echo 
'Conectado';
        } 
        catch (
PDOException $ex) {
            die (
"Error: No se conectó " $ex->getMessage());
        }
        catch (
Exception $ex){
            die (
"Exception: " $ex->getMessage());
        }
    }
    
    
/**
     * 
     * @return PDO
     */
    
public function getConexion(){
        return 
$this->_conexion;
    }
}

Y este es el archivo donde hago una simple query (Voy probando de a poco. Soy noob en esto xD).

Código PHP:
<?php

require './ConexionDB.php';

$db = new ConexionDB();

$conexion $db->getConexion();
var_dump($conexion);

$query "SELECT * FROM tutorial";

$statement $conexion->prepare($query);
$statement execute();

$arrayPersonas $statement->fetchAll(PDO::FETCH_ASSOC);

var_dump($arrayPersonas);

Como habrán visto, dumpeo la variable $conexion y me tira que está null.
Intenté hacer la conexion a la base con algo mas simple y funciono, pero quiero aprender a hacerlo de la forma en la que estoy intentando.
Otra cosa. Al haber un error al conectar, no deberia saltar el "catch" de la clase indicandome que hubo un error? O, por el contrario, el "echo" que me dice que se conectó. La cosa es que no obtengo ninguno de los dos.

Desde ya muchas gracias ^^