Bonsoir,

je fais une connexion classique à MySQL avec PDO mais ça échoue et je ne sais pas comment débuguer cela :

connect_mysl.php :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
<?php
include_once (dirname(__DIR__).'\eis\new\MyPdo.php');
header('Content-type: text/html; charset=UTF-8');
//// connexion
try{
	$bdd = new MyPdo();
}
catch(PDOException $e){
	echo "argggggggggggggg".$e->getMessage();
	return(FALSE);
}		
?>

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
<?php
header('Content-type: text/html; charset=UTF-8');
// MyPDO
 //la classe MyPdo hérite de la classe PDO (extends)
class MyPdo extends PDO {
/* on privilégie les var de classe (statiques) aux constantes : ainsi modifiables par programme */
	static public $DB_NAME = "su_dev_eis";
	static public $HOST = "localhost";
	static public $USER = "root";
	static public $PASS = "root";
// le constructeur de MyPdo appelle le constructeur de PDO en lui passant ses paramètres	
	function __construct() {
	$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
	$pdo_options[PDO::ATTR_EMULATE_PREPARES] = false;//important sur les configs récentes
	$pdo_options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_OBJ;//pour le mode objet
	$pdo_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8";//pour l'utf-8
	parent::__construct('mysql:host=' . MyPdo::$HOST . ';dbname=' . MyPdo::$DB_NAME, MyPdo::$USER, MyPdo::$PASS, $pdo_options);
	}
}
// fin MyPDO
?>

et ça affiche
arggggggggggggggSQLSTATE[HY000] [1045] Acc�s refus� pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)
Comment s'en sortir ?