Je suis en train de m'entrainer à créer une classe database en pdo avec des requêtes préparées.
je ne trouve pas beaucoup concernant les classes concernant les requêtes préparées en pdo sur internet.
J'ai tenté quand même et je savais que j'allais être coincé face à ce message d'erreur :
voici mon codeFatal error: Call to undefined method DBMySQL::prepare() in ....
<?php
define('DB_HOST', 'localhost');
define('DB_DATABASE', 'tests');
define('DB_USERNAME', 'root');
define('DB_PASSWORD', 'root');
define('DB_CHARSET', 'utf8');
class DBMySQL{
public $db;
public $sql;
private $dbhost = DB_HOST;
private $dbuser = DB_USERNAME;
private $dbpass = DB_PASSWORD;
private $dbname = DB_DATABASE;
private $dbcharset = DB_CHARSET;
public function __construct(){
try{
$db = new PDO('mysql:host='.DB_HOST.';dbname='.DB_DATABASE, DB_USERNAME, DB_PASSWORD,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES " .$this->dbcharset));
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
echo "Connexion réussie<br />";
}catch(Exception $e){
echo "Connexion pas réussie<br />";
echo "Erreur : ".$e->getMessage()."<br />";
echo "N° : ".$e->getCode();
}
}
public function query($sql){
global $db;
$stmt = $db->prepare($sql);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_OBJ);
}
}
?>
<?php
$db = new DBMySQL();
$select = $db->query("SELECT * FROM regions");
$data = $select->fetchAll();
var_dump($data);
?>
je vous remercie beaucoup de votre aide