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

testcalendar.php :
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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 php : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?