Connexion à la base de données en localhost avec Wampserver
	
	
		Bonjour,
Je débute en programmation web et je me suis formé avec les livres.
Je suis arrivé à m'en sortir et avoir un résultat sur mon premier site que je créé pour un besoin perso.
J'ai terminé la formation html 5 /css et suis en cours sur le livre concevez votre site web avec PHP et MYSQL.
J'ai préparé le programme ci dessous pour lequel je vais alimenter à partir d'une base de données.
J'ai installé WAMPSERVER dernièrement dont php est la version 5.5.12 et mysql est la version 5.6.17.
J'ai écrit le code ci dessous avec la première formation et je tente d'afficher une information simple depuis une base de données :
	Code:
	
| 12
 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
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 
 | <!doctype html>
<html>
	<head>
		<meta charset = "utf-8"/>
		<link rel="stylesheet" href="stylefond.css"/>
		<link rel="stylesheet" href="stylemenu.css"/>
		<title>portefeuille charge d affaire raccordement c5 </title>
	</head>
 
	<body>
	<div id="tout">
		<header>
			<div id="titrepage">
				<h2> MENU PRINCIPAL </h2>
				<h1> OUTIL APPUI CHARGE <br> D AFFAIRE RACCORDEMENT C5 </h1>
			</div>
			<img src="tnlogo.png" class="logo" alt="logo"/>
		</header>
		<?php
		try
		{
			$bdd = new PDO( 'mysql:host=localhost;dbname=suivracc5','root@localhost','');
		}
		catch (Exception $e)
		{ 
			die('Erreur : '.$e->getMessage());
		}
		$reponse = $bdd -> query('SELECT * FROM test') or die( print_r($bdd->errorinfo()));
 
		while ($donnees = $reponse->fetch());
			{
			 ?>
			 <p>
				le numero d'enregistrement portant le <?php echo $donnees['id']; ?> contient l'information <?php echo $donnees['titre']; ?> <br />
				le contenu est <?php echo $donnees['contenu']; ?> <br />
			</p>
			<?php
			}
		$reponse -> closeCursor();
		?>
		<section>
			<article>
				<table class="tableprincipal">
					<caption> LISTE DES FICHIERS <?php echo "nom du fichier pour indiquer la liste"?> </caption>
					<tr>
						<th> OSR </th>
						<th> COMMUNE </th>
						<th> NOM CLIENT </th>
					</tr>						
				</table>
			</article>
			<aside>
					<table class="tablemenu">
						<caption> ETAT DU PORTEFEUILLE</caption>
						<tr>
							<th> LISTE </th>
							<th> NOMBRE</th>
						<tr>
							<td> <a href=#> ETUDE EN COURS </a>
							<td> nombre de php  </a>
						</tr>
						<tr>
							<td> <a href=#> ATTENTE PAIEMENT </a> </td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> COMMANDE TRAVAUX </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> PROGRAMMEE </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> TERMINE AVEC ECART OU SUIVI</a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#>PAIEMENT SUPERIEUR A 3 MOIS </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> PAIEMENT SUPERIEUR A 6 MOIS </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> REALISEE </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> ABANDON CLIENT </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> ENVOIE EXTENSION </a></td>
							<td> nombre de php  </a></td>
						</tr>
						<tr>
							<td> <a href=#> ENVOIE COLLECTIF </a></td>
							<td> nombre de php  </a></td>
						</tr>
					</TABLE>
					<nav>
						<ul>
							<li> <a href=# >VOIR / MODIFIER LE DOSSIER  </A> </li> <br>
							<li> <a href=# >CREER UN DOSSIER  </A> </li><br>
							<li> <a href=# >RECHERCHER UN DOSSIER  </A> </li>
						</UL>
					</nav>
					<form>
						<input type="text" name="rech" id="rech"/>
						<input type="submit" value="RECHERCHER"
					</form>
			</aside>
		</section>
		<?php include ("PIEDPAGE.PHP");?>
	</div>
	</body>
</html> | 
 J'ai fait quelques recherches et j'ai installé du code pour avoir l'erreur qui se génère.
J'obtient actuellement ce message d'erreur :
	Citation:
	
		
		
			Erreur : SQLSTATE[HY000] [1045] Acc�s refus� pour l'utilisateur: 'root@localhost'@'@localhost' (mot de passe: NON)
			
		
	
 Il s'agit à priori d'un refus d'accès à la base de donnée.
Je n'ai pas de code d'accès en sql car j'ai vérifié.
Les noms de base de données et tables sont correct.
je ne trouve pas l'erreur.
j'ai pas contre trouvé sur internet que les versions 5 de php fonctionné avec mysqli à priori ?
Mais je ne trouve pas comment je dois adapté mon code et je ne trouve pas  l'extension php-pdo-mysqli.
Pouvez vous me mettre sur une piste afin que je comprenne mon erreur et adapte mon code ?
Merci pour votre aide.
	 
	
	
	
		suite à vos conseils une avancée mais pas encore une réussite
	
	
		Bonjour tout le monde,
Merci pour vos réactions et votre aide.
J'ai procédé aux modifications proposées par xdelatour que je n'avais pas vu, car j'avais pas de souci actuellement de présentation et de chargement.
La modification proposé par nb qui me propose de changer l'utilisateur était ma solution de départ et j'avoue le changement par "root" permet de ne pas avoir de message d'erreur et voir la page se chargée.
Malheureusement je n'ai aucune information qui remonte de ma base de donnée, les champs sont vides.
J'avais mis le dernier nom indiqué suite à une recherche sur internet.
J'ai adapté ma page avec l'exemple de connection que propose jreaux62.
ci dessous le code adapté :
	Code:
	
| 12
 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
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 
 | !doctype html>
<html>
	<head>
		<meta charset = "utf-8"/>
		<link rel="stylesheet" href="stylefond.css"/>
		<link rel="stylesheet" href="stylemenu.css"/>
		<title>portefeuille charge d affaire raccordement c5 </title>
	</head>
 
	<body>
	<div id="tout">
		<header>
			<div id="titrepage">
				<h2> MENU PRINCIPAL </h2>
				<h1> OUTIL APPUI CHARGE <br> D AFFAIRE RACCORDEMENT C5 </h1>
			</div>
			<img src="tnlogo.png" class="logo" alt="logo"/>
		</header>
		<?php
			// --------------------------------------------------------------
			// Paramètres de connection à la Base de Données sur le serveur
			// --------------------------------------------------------------
			$pdo_conn = array();
			$pdo_conn['hostname'] = 'localhost'; // voir hébergeur ou "localhost" en local
			$pdo_conn['database'] = 'suivracc5'; // nom de la BdD
			$pdo_conn['username'] = 'root'; // identifiant "root" en local
			$pdo_conn['password'] = ''; // mot de passe (vide en local)
			// ------------------------
			// connexion à la Base de Données
			try {
			// chaine de connexion (DSN)
			$pdo_conn['strConn'] = 'mysql:host='.$pdo_conn['hostname'].';dbname='.$pdo_conn['database'];
			$pdo_conn['extraParam'] = array(
			PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // rapport d'erreurs sous forme d'exceptions
			PDO::ATTR_PERSISTENT => true, // Connexions persistantes
			PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" // encodage UTF-8
			);
			// Instancie la connexion
			$pdo = new PDO($pdo_conn['strConn'], $pdo_conn['username'], $pdo_conn['password'], $pdo_conn['extraParam']);
			}
			catch(PDOException $e){
			$msg = 'ERREUR PDO dans ' . $e->getFile().' L.' . $e->getLine().' : ' . $e->getMessage();
			die($msg);
			}
 
		$reponse = $bdd -> query('SELECT * FROM test') or die( print_r($bdd->errorinfo()));
 
		while ($donnees = $reponse->fetch());
			{
			 ?>
			 <p>
				le numero d'enregistrement portant le <?php echo $donnees['id']; ?> contient l'information <?php echo $donnees['titre']; ?> <br />
				le contenu est <?php echo $donnees['contenu']; ?> <br />
			</p>
		<?php
			}
		$reponse -> closeCursor();
 
		?>
		<section>
			<article>
				<table class="tableprincipal">
					<caption> LISTE DES FICHIERS <?php echo "nom du fichier pour indiquer la liste"?> </caption>
					<tr>
						<th> OSR </th>
						<th> COMMUNE </th>
						<th> NOM CLIENT </th>
					</tr>						
				</table>
			</article>
			<aside>
					<table class="tablemenu">
						<caption> ETAT DU PORTEFEUILLE</caption>
						<tr>
							<th> LISTE </th>
							<th> NOMBRE</th>
						<tr>
							<td> <a href=#> ETUDE EN COURS </a>
							<td>  nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> ATTENTE PAIEMENT </a> </td>
							<td>  nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> COMMANDE TRAVAUX </a></td>
							<td>  nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> PROGRAMMEE </a></td>
							<td>  nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> TERMINE AVEC ECART OU SUIVI</a></td>
							<td> nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#>PAIEMENT SUPERIEUR A 3 MOIS </a></td>
							<td> nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> PAIEMENT SUPERIEUR A 6 MOIS </a></td>
							<td>  nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> REALISEE </a></td>
							<td>  nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> ABANDON CLIENT </a></td>
							<td> nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> ENVOIE EXTENSION </a></td>
							<td> nombre de php  </td>
						</tr>
						<tr>
							<td> <a href=#> ENVOIE COLLECTIF </a></td>
							<td> nombre de php  </td>
						</tr>
					</TABLE>
					<nav>
						<ul>
							<li> <a href=# >VOIR / MODIFIER LE DOSSIER  </a> </li> <br>
							<li> <a href=# >CREER UN DOSSIER  </a> </li><br>
							<li> <a href=# >RECHERCHER UN DOSSIER  </a> </li>
						</UL>
					</nav>
					<form>
						<input type="text" name="rech" id="rech"/>
						<input type="submit" value="RECHERCHER"/>
					</form>
			</aside>
		</section>
		<?php include ("PIEDPAGE.PHP");?>
	</div>
	</body>
</html> | 
 Maintenant j'ai ce message d'erreur :
	Citation:
	
		
		
			( ! ) Notice: Undefined variable: bdd in C:\wamp\www\gestion portefeuille html\menup.php on line 57
Call Stack
#	Time	Memory	Function	Location
1	0.0009	143584	{main}( )	..\menup.php:0
( ! ) Fatal error: Call to a member function query() on a non-object in C:\wamp\www\gestion portefeuille html\menup.php on line 57
Call Stack
#	Time	Memory	Function	Location
1	0.0009	143584	{main}( )	..\menup.php:0
			
		
	
 Pour info les lignes 62 à 65 me servent uniquement de test pour tester et apprendre ma première connection à une base de donnée.
Mais apparemment j'ai pas tout compris encore.
Sur cette page proposée, à termes, je compte remplacer les textes 
	Code:
	
<td>  nombre de php  </td>
  par une valeur récupérée suite à une requête sql sur la base de donnée.
Je suis allé sur le site de wampserver et je suis en cours de téléchargement de la version 3.1.3 x64.
Je la mettrais en place dès demain voir si cela peut aider.
Je reste à votre écoute sur les modifications de la nouvelle page de code.
Merci,
	 
	
	
	
		Pour répondre à Kevin254kl
	
	
		j'ai modifié mon code avec fetchall et j'ai demandé le contenu avec printr.
	Code:
	
| 12
 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
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 
 | <?php
			// --------------------------------------------------------------
			// Paramètres de connection à la Base de Données sur le serveur
			// --------------------------------------------------------------
			$pdo_conn = array();
			$pdo_conn['hostname'] = 'localhost'; // voir hébergeur ou "localhost" en local
			$pdo_conn['database'] = 'suivracc5'; // nom de la BdD
			$pdo_conn['username'] = 'root'; // identifiant "root" en local
			$pdo_conn['password'] = ''; // mot de passe (vide en local)
			// ------------------------
			// connexion à la Base de Données
			try {
			// chaine de connexion (DSN)
			$pdo_conn['strConn'] = 'mysql:host='.$pdo_conn['hostname'].';dbname='.$pdo_conn['database'];
			$pdo_conn['extraParam'] = array(
			PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, // rapport d'erreurs sous forme d'exceptions
			PDO::ATTR_PERSISTENT => true, // Connexions persistantes
			PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8" // encodage UTF-8
			);
			// Instancie la connexion
			$pdo = new PDO($pdo_conn['strConn'], $pdo_conn['username'], $pdo_conn['password'], $pdo_conn['extraParam']);
			}
			catch(PDOException $e){
			$msg = 'ERREUR PDO dans ' . $e->getFile().' L.' . $e->getLine().' : ' . $e->getMessage();
			die($msg);
			}
			$pdo_conn = array(); // on vide
 
		$reponse = $pdo -> query('SELECT * FROM test') or die( print_r($pdo->errorinfo()));
 
		while ($donnees = $reponse->fetchall())
			{
			 ?>
 
			 <p>
				le numero d'enregistrement portant le <?php echo $donnees['id']; ?> contient l'information <?php echo $donnees['titre']; ?> <br />
				le contenu est <?php echo $donnees['contenu']; ?> <br />
			</p>
		<?php
			}
		$reponse -> closeCursor();
 
		?> | 
 J'ai bien la variable qui se charge, par contre fetchall génère cette erreur :
	Citation:
	
		
		
			 le numero d'enregistrement portant le
( ! ) Notice: Undefined index: id in C:\wamp\www\gestion portefeuille html\menup.php on line 54
Call Stack
#	Time	Memory	Function	Location
1	0.0010	143800	{main}( )	..\menup.php:0
contient l'information
( ! ) Notice: Undefined index: titre in C:\wamp\www\gestion portefeuille html\menup.php on line 54
Call Stack
#	Time	Memory	Function	Location
1	0.0010	143800	{main}( )	..\menup.php:0
le contenu est
( ! ) Notice: Undefined index: contenu in C:\wamp\www\gestion portefeuille html\menup.php on line 55
Call Stack
#	Time	Memory	Function	Location
1	0.0010	143800	{main}( )	..\menup.php:0
LISTE DES FICHIERS nom du fichier pour indiquer la liste OSR
			
		
	
 Par contre j'ai pas bien compris ta demande concernant l'execution de la requête.
J'ai tenté de modifier ma ligne sans résultat mais je n'ai eu que des erreurs.
 
	Code:
	
$reponse = $pdo -> query('SELECT * FROM test') or die( print_r($pdo->errorinfo()));
 .
La modification qu'a proposé jreaux62 a toutefois permis de faire apparaître les données donc je vais retenir pour le moment sa solution mais je reste à ton écoute pour apprendre un peu plus.
merci