Utilisation du tuto sur une utilisation facile de PDO
Bonsoir,
je crée une nouvelle discussion pour ne pas polluer celle de Dendrite (https://www.developpez.net/forums/d1...acilement-pdo/)
Je tente donc d'utiliser ce tuto. Pour tester, j'ai créé un fichier de test, mais qui ne marche pas :aie:
testcalendar.php :
Code:
1 2 3 4 5 6 7 8 9 10 11
| <!DOCTYPE html>
<html lang="fr">
<head>
<title>test calendar</title>
</head>
<body>
<?php
include (dirname(__DIR__).'/includes/connect_mysql.php');echo "testcalendar8";
?>
</body>
</html> |
connect_mysql.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| <?php
spl_autoload_register(function ($class) {
include '../bdd/class_' . $class . '.php';
});
//on met tous nos traitements dans un bloc try & catch pour gérer les exceptions
try {
//simple objet
$o_db=new MyPdo("calendar");echo "connect 9";
$bdd=$o_db->retour_pdo();//var_dump($bdd);
} catch (Exception $e) {
//s'il y a un problème PHP ou SQL, tout s'affichera ici
print "Erreur ! " . $e->getMessage() . "<br/>";
}
?> |
Volontairement, je sépare la connexion des requêtes.
class_MyPdo.php :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| <?php
error_reporting(E_ALL ^ E_DEPRECATED ^ E_NOTICE);
ini_set('display_errors','1');
echo "<br/>4 class_MyPdo.php<br/>";
<?php
// MyPDO
class MyPdo {
protected $name='';
protected $options='';
public function __construct($name){
$this->name=$name;
$this->options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,//mode dev par exemple
PDO::ATTR_EMULATE_PREPARES => false,//important sur les configs récentes
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ//pour le mode objet
);
}
public function retour_pdo(){
$dsn='mysql:localhost;port=3306;dbname='.$this->name;
$login='calendar';
$mdp='caché';
$pdo=new PDO($dsn,$login,$mdp,$this->options);
return $pdo;
}
}
?> |
Mon souci : aucun echo ne s'affiche, donc ça bloque avant celui de la ligne 9 de connect_mysql.php
Peut-on m'aider ?