IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Connexion à la base de données en localhost avec Wampserver [Wamp]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut 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 : 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
    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 :
    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.

  2. #2
    Nb
    Nb est déconnecté
    Membre éprouvé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 163
    Par défaut
    ton utilisateur est "root" pas "root@localhost" je pense.
    essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $bdd = new PDO( 'mysql:host=localhost;dbname=suivracc5','root','');

  3. #3
    Membre émérite
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2012
    Messages : 381
    Par défaut
    Bonjour,

    Le code étant déjà écrit avec PDO, il n'y a pas trop d'intérêt à changer pour mysqli.

    A côté du problème du nom de l'utilisateur, il semble quand même y avoir quelques soucis avec le HTML : dans le tableau, il y a des balises <td> ouvertes mais pas fermées et des balises </a> sans la balise <a> et ligne 112, la balise input n'est pas fermée (après "RECHERCHER").

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ...J'ai installé WAMPSERVER dernièrement dont php est la version 5.5.12 et mysql est la version 5.6.17...
    Houlà...
    Tu aurais intérêt à installer la DERNIERE version : http://www.wampserver.com

    WampServer 64 bits (x64) 3.0.6
    – Wampserver 3.1.0 64 bit x64 – Apache 2.4.27 – PHP 5.6.31, 7.0.23, 7.1.9 – MySQL 5.7.19 ...

  5. #5
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut 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 : 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
    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 :
    ( ! ) 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    <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,

  6. #6
    Invité
    Invité(e)
    Par défaut
    Normal : moi, je l'ai appelé $pdo !!
    Pas $bdd...

    Adapte !

  7. #7
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut
    ha, effectivement, j'avais pas tout compris !!!

    Le résultat est le même aucune donnée ne remonte de la base de donnée mes 3 champs sont vides dans le texte !!!!
    J'ai déplacé la ligne qui vide la variable pdo à la fin de la requête sans résultat.

    Mon dernier code :
    Code : 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
    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
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    <!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);
    			}
    			// ------------------------
     
    			// --------------------------------------------------------------
    		//<?php
    		//try
    		//{
    		//	$pdo = new PDO( 'mysql:host=localhost;dbname=suivracc5','root','');
    		//}
    		//catch (Exception $e)
    		//{ 
    		//	die('Erreur : '.$e->getMessage());
    		//}
    		$reponse = $pdo -> query('SELECT * FROM test') or die( print_r($pdo->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();
    		$pdo_conn = array(); // on vide
    		?>
    		<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>
    Ha je viens d'installer wampserver 3.1.3, et j'ai un problème pour 2 programmes :

    -- Mysql.exe : on me signale qu'il manque le fichier MSVCR120.DLL
    -- Apache.exe : on me signale qu'il manque le fichier VCRUNITIMO140.DLL

    Penses tu que c'est à cause de la version actuellement installé que cette nouvelle version ne fonctionne pas?

    Pour ci dessus je n'y comprends plus rien : dans la table test j'ai 3 colonnes avec 4 lignes rentrées. Toutes sont bien rempli après vérification avec phpadmin.
    Pourquoi aucune ligne ne remonte dans ma page ?

    merci pour ton aide,

  8. #8
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut
    Je me reprends, oui on a avancé car on a plus de messages d'erreur, mais j'ai aucune info qui remonte de ma table test dans la base de données "suivracc5".
    Elle a d'autres tables que j'ai préparé pour mon projet mais ces dernières sont actuellement vide.
    J'ai créé la table test pour me familiariser avec ce langage, mais sans succès actuellement.

    Merci

  9. #9
    Membre Expert

    Homme Profil pro
    développeur
    Inscrit en
    Octobre 2013
    Messages
    1 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : développeur

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 583
    Par défaut
    Bonjour,

    Si tu executes ta requete dans phpmyadmin as tu des résultats?
    utilise fetchAll et pas Fetch sur $response, fait un print_r pour voir si tu récupères bien des données.

  10. #10
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while ($donnees = $reponse->fetch());
    {
    Un ; en trop !

    Bizarre que cette erreur ne soit pas signalée...

  11. #11
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut on avance on avance !!
    Bonjour,

    Enfin un premier résultat :

    Suite à la modification de Jreaux62 (enlevé le ";") les données sont bien arrivés cette fois ci pour preuve en voici le résultat :

    ( ! ) Warning: PDO::__construct(): MySQL server has gone away in C:\wamp\www\gestion portefeuille html\menup.php on line 39
    Call Stack
    # Time Memory Function Location
    1 0.0012 143768 {main}( ) ..\menup.php:0
    2 0.0013 145200 __construct ( ) ..\menup.php:39

    le numero d'enregistrement portant le 1 contient l'information aujourdhui
    le contenu est c est en ce moment

    le numero d'enregistrement portant le 2 contient l'information hier
    le contenu est c'est passé

    le numero d'enregistrement portant le 3 contient l'information apres dema
    le contenu est cela va arriver

    le numero d'enregistrement portant le 4 contient l'information apres apre
    le contenu est peut être un jour
    Il reste un message d'erreur qui fait référence à la construction de la demande d'accés à la bdd à priori, d'après mes recherches.
    Je viens de vérifier l'ordre et apparemment on est bien dans l'ordre.
    Ci dessous le nouveau code partiel (uniquement la partie qui traite la bdd :
    Code : 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <?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 = $pdo -> query('SELECT * FROM test') or die( print_r($pdo->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();
    		$pdo_conn = array(); // on vide
    		?>

    Haaaa je viens de trouver : la ligne qui vide la variable "$pdo" doit être immédiatement après :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $pdo_conn = array(); // on vide
    .

    le code qui fonctionne :
    Code : 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
    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()));
    		 //print_r ($reponse)
    		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();
     
    		?>
    resultat :
    MENU PRINCIPAL OUTIL APPUI CHARGE
    D AFFAIRE RACCORDEMENT C5
    logo

    le numero d'enregistrement portant le 1 contient l'information aujourdhui
    le contenu est c est en ce moment

    le numero d'enregistrement portant le 2 contient l'information hier
    le contenu est c'est passé

    le numero d'enregistrement portant le 3 contient l'information apres dema
    le contenu est cela va arriver

    le numero d'enregistrement portant le 4 contient l'information apres apre
    le contenu est peut être un jour
    Par contre je comprens pas pourquoi on vide la variable avant de l'utiliser ?????
    Avez vous une explication à cette logique ??

    Je clos la discussion après ta réponse Jreaux62 sur l'emplacement de cette ligne !!

    merci

  12. #12
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut Pour répondre à Kevin254kl
    j'ai modifié mon code avec fetchall et j'ai demandé le contenu avec printr.

    Code : 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
    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 :

    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    $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

  13. #13
    Invité
    Invité(e)
    Par défaut
    1- Il faut lire la DOC si tu ne veux pas avancer à tâton dans la brume....

    2 solutions :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    while ($donnees = $reponse->fetch()) // 1 ligne à la fois
    {
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $donneesAll = $reponse->fetchAll(); // toutes les lignes
    foreach ($donneesAll as $donnees)
    {
    2- $pdo_conn contient les paramètres de connexion.
    Pas la connexion elle-même, qui est $pdo.

    Et toute cette partie peut se mettre dans un fichier externe, qu'on inclut au début du script.

    3- ça, tu peux le supprimer, ça ne sert à rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse -> closeCursor();
    Dernière modification par Invité ; 08/04/2018 à 13h57.

  14. #14
    Membre confirmé
    Homme Profil pro
    Chargé d'affaire
    Inscrit en
    Février 2008
    Messages
    144
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chargé d'affaire
    Secteur : Service public

    Informations forums :
    Inscription : Février 2008
    Messages : 144
    Par défaut merci pour tout
    re,

    Je viens de relire mon bouquin suite à ton post, effectivement j'avais oublié que les données n'étaient pas stocké à la demande d'ouverture.
    C'est la requête en sql qui récupère les données.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $reponse = $pdo -> query('SELECT * FROM test') or die( print_r($pdo->errorinfo()))
    j'ai compris maintenant ce code.
    En tout cas je constate que ton code fonctionne pour l'accés à la base alors que celui de Mathieu Nebra ne fonctionne pas, peut être un problème de version.
    Je vais conserver soigneusement ce code pour le réutiliser.

    Concernant le fetchall, je n'avais pas eu d'explications sur cette possibilité. merci pour ce complément.

    Je viens de comprendre une utilisation du fichier externe car si j'avais compris comment faire à la lecture du livre, j'en voyais qu'une faible utilité.
    Cette méthode de stockage dans un fichier externe pourra me permettre de protéger les données.

    Merci pour ces explications,

    Je vais me pencher sur l'installation de la version 3.1.3 de wampserver qui a mal fonctionné.
    D'après se que j'ai lu, il me faut refaire l'installation en 1er.

    A bientôt


    A bient

  15. #15
    Invité
    Invité(e)
    Par défaut
    Un bon tuto :


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Connexion à une base de données ACCESS existante avec VBA et requête action
    Par marie_111 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 18/04/2019, 14h25
  2. Réponses: 0
    Dernier message: 10/02/2018, 01h00
  3. Oracle 10g connexion à la base de donnée avec EM
    Par rmaah dans le forum Connexions aux bases de données
    Réponses: 11
    Dernier message: 18/04/2006, 11h15
  4. [XSL]Connexion à une base de données avec XSL
    Par muad'dib dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 07/02/2006, 10h06
  5. Réponses: 1
    Dernier message: 25/09/2005, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo