PDO: Call to undefined method DB::query()

Essayer d'obtenir le coup de PDO, mais ne pas avoir beaucoup de plaisir à le moment. Je parie que c'est quelque chose de vraiment simple.

EDIT: Ce serait une meilleure façon de faire cela? j'.e au lieu de l'enveloppant dans une classe?

classes/DB.class.php:

<?php

//DB.class.php

class DB {

    protected $db_name = "PDO";
    protected $db_user = "root";
    protected $db_pass = "root";
    protected $db_host = "localhost";

    //Establish Connection to Database.

    public function connect() {

        try {
            $DB = new PDO("mysql:host=$db_host;dbname=$db_name", $db_user, $db_pass);
        }
        catch (PDOException $e) {
            echo $e->getMessage();
        }

    }

}

?>

includes/global.inc.php:

<?php

require_once 'classes/DB.class.php';

//Establish Connection to Database.

$db = new DB();
$db->connect();

?>

index.php:

<?php

require_once 'includes/global.inc.php';

$STH = $db->query("SELECT * FROM users");
echo "<pre>";
print_r($STH->fetch());

?>
Vous auriez besoin d'utiliser $db->DB->query(). Votre classe n'est pas l'extension de la classe PDO, c'est tout simplement l'enveloppant.

OriginalL'auteur ritch | 2011-06-10