Page 1 sur 2

[ Résolu] erreur var_dump

Posté : 02 févr. 2011, 10:02
par 63renaud
Bonjour

Je veux tester mon tableau $ligne mais j'ai cette erreur

var_dump($ligne); réponse bool(false).

cela vient d'ou cette erreur.
je suis bien connecté à ma base de données.
voici le code

Code : Tout sélectionner

<?php // Connexion au serveur $hote='localhost'; // le chemin vers le serveur $nom_bd='base_fred'; // le nom de la base de données $utilisateur='root'; // nom d'utilisateur pour se connecter $pwd=''; // mot de passe de l'utilisateur pour se connecter try { $c=mysql_connect("$hote","$utilisateur","$pwd"); $b=mysql_select_db("$nom_bd", $c); } catch (Exception $ex) { echo 'Erreur : '.$ex->getMessage().'<br />'; echo 'N° : '.$ex->getCode(); } ?> <?php //------------------------------------------------------------ lecture des lignes et mettre en format graphique( formatage) $detail=$_GET['id_xguest']; // Préparation et execution de la requête $rq = mysql_query("SELECT * FROM client WHERE id_xguest='$detail'") or die (mysql_error()) ; $ligne=mysql_fetch_array($rq); ?> <div id="principal"> <div id="label_haut"> <div id="label_client"> <label>CLIENT</label> </div> </div> <div id="text_box"> <?php //------------------------------------------------------------ lecture des lignes et mettre en format graphique( formatage) $detail=$_GET['id_xguest']; // Préparation et execution de la requête $rq ="SELECT * FROM client WHERE id_xguest='$detail'" or die (mysql_error()) ; $result_set=mysql_query($rq); $ligne=mysql_fetch_array($result_set); var_dump ($ligne) ; ?>

Re: erreur var_dump

Posté : 02 févr. 2011, 10:05
par xTG
Bon déjà soit on fait du PDO, soit on fait avec mysql_ mais on mélange pas les deux. ;)
mysql_ ne renvoie aucune exception !

Ensuite tu ne vérifies en rien la variable que tu insères dans la requête.
Fais donc une vérification dessus (!empty() par exemple) et tu trouveras j'en suis sûr rapidement ton erreur.

Re: erreur var_dump

Posté : 02 févr. 2011, 11:52
par 63renaud
merci pour ton aide j'ai nétoyyer tous mon code, mais comment faire la vérification avec (!empty())

merci

Re: erreur var_dump

Posté : 02 févr. 2011, 12:05
par stealth35
merci pour ton aide j'ai nétoyyer tous mon code, mais comment faire la vérification avec (!empty())

merci
comme t'as dis xTG mysql_* ne renvoie pas d'exception ton tu peux surpimer ton bloque try...catch, ensuite pour voir les erreurs de mysql c'est :
ini_set('mysql.trace_mode', true);
a mettre au début de ton code


et ca :
$rq ="SELECT * FROM client WHERE id_xguest='$detail'" or die (mysql_error()) ;
ca veut pas dire grand chose...

Re: erreur var_dump

Posté : 02 févr. 2011, 12:12
par 63renaud
oui je viens de tout nettoyer
le fichier mysql_connect.php

Code : Tout sélectionner

<?php // Connexion au serveur $hote='localhost'; // le chemin vers le serveur $nom_bd='base_fred'; // le nom de la base de données $utilisateur='root'; // nom d'utilisateur pour se connecter $pwd=''; // mot de passe de l'utilisateur pour se connecter ini_set('mysql.trace_mode', true); $c=mysql_connect("$hote","$utilisateur","$pwd"); $b=mysql_select_db("$nom_bd", $c) or die (mysql_error()) ; ?>
le fichier afficher_client.php avec la fonction if (!empty($ligne))

Code : Tout sélectionner

<title>Afficher un Client</title> <?php include_once'lien_css.php'; ?> <body> <div id="global"> <?php include_once 'header.php'; ?> <?php require_once'mysql_connect.php'; ?> <?php //------------------------------------------------------------ lecture des lignes et mettre en format graphique( formatage) $detail=$_GET['id_xguest']; // Préparation et execution de la requête $rq ="SELECT * FROM client WHERE id_xguest='$detail'" ; $result_set=mysql_query($rq) or die (mysql_error()) ; $ligne=mysql_fetch_array($result_set) ; if (!empty($ligne)) { echo '$ligne'; } ?> <div id="principal"> <div id="label_haut"> <div id="label_client"> <label>CLIENT</label> </div> </div> <div id="text_box"> <label>Nom</label><?php echo $ligne['xguest_nom'];?> </div><!-- fin div texbox --> </div><!-- fin div principal --> </div> <!-- fin div global--> </body> </html>
mais rien ne s'affiche.
Le label nom s'affiche bien mais pas le nom du client qui a été sélectionné sur une autre page .

Merci
merci

Re: erreur var_dump

Posté : 02 févr. 2011, 12:18
par stealth35
echo '$ligne';

va te renvoyer

$ligne

et $ligne est un array, donc c'est var_dump ou print_r pour l'affiche mais pas echo

ensuite vérifie ton niveau d'erreur PHP
ini_set('display_errors', 1);
error_reporting(-1);

pour le forum afficher du PHP c'est avec le bouton PHP, pas le CODE

Re: erreur var_dump

Posté : 02 févr. 2011, 12:28
par 63renaud
merci pour ta patience et toute ton aide
voici le nouveau code

<title>Afficher un Client</title>
<?php
    include_once'lien_css.php';
?>
<body>
    <div id="global">
<?php
    include_once 'header.php';
?>
<?php
	require_once'mysql_connect.php';
?>
 <?php
//------------------------------------------------------------ lecture des lignes et mettre en format graphique( formatage)
$detail=$_GET['id_xguest'];

// Préparation et execution de la requête

$rq ="SELECT * FROM client WHERE id_xguest='$detail'" ;
$result_set=mysql_query($rq) or die (mysql_error()) ;
$ligne=mysql_fetch_array($result_set) ;

?>
<div id="principal">

 <div id="label_haut">
               <div id="label_client">
			  <label>CLIENT</label>
			  </div>
 </div>
 <div id="text_box">
<label>Nom</label><?php echo $ligne['xguest_nom'];?>   
<?php
if (!empty($ligne)) {
  var_dump ($ligne);
}
ini_set('display_errors', 1);
error_reporting(-1);
?>

</div><!-- fin div texbox -->
</div><!-- fin div principal -->
</div> <!-- fin div global-->
</body>
</html>


mais rien ne s'affiche, penses-tu que je devrais faire des testes sur une page vierge?
si je ne trouve pas cette erreur je peux dire adieu à mon BTS car je dois rendre ce travail dans 1 semaine .

Re: erreur var_dump

Posté : 02 févr. 2011, 12:32
par stealth35
ta bien mis les ini_set et error_reporting, ton rendu HTML donne quoi (affichage -> source)

Re: erreur var_dump

Posté : 02 févr. 2011, 12:37
par 63renaud
voilà l'erreur que j'ai trouvé en bas de la page

<b>Warning</b>:  Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in <b>Unknown</b> on line <b>0</b><br />
la page complète
<title>Afficher un Client</title> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
<link rel="stylesheet" type="text/css" href="Css/controle.css"/> 
<link rel="stylesheet" type="text/css" href="Css/header.css"/> 
<link rel="stylesheet" type="text/css" href="Css/base.css"/> 
<link rel="stylesheet" type="text/css" href="Css/menu.css"/> 
<link rel="stylesheet" type="text/css" href="Css/liste.css"/> 
</head> 
<body> 
    <div id="global"> 
<div id="header"> 
    
                <div id="listeMenu"> 
 
<ul> 
 
        <li><a> AFFICHER</a> 
                <ul> 
                <li><a href="afficher_liste_client.php"> Clients</a></li> 
                <li><a href="afficher_prospect.php">Prospect</a></li> 
                <li><a href="afficher_photographe.php">Photographes</a></li> 
                </ul> 
        </li> 
        
        <li><a>AJOUTER</a> 
                <ul> 
                <li><a href="ajouter_client.php"> Clients</a></li> 
                <li><a href="ajouter_prospect.php">Prospect</a></li> 
                <li><a href="ajouter_photographe.php">Photographes</a></li> 
                </ul> 
        </li> 
 
        <li><a>CONTROLE DE SAISIE</a> 
                <ul> 
                <li><a href="controle_client.php"> Clients</a></li> 
                <li><a href="controle_prospect.php">Prospect</a></li> 
                <li><a href="controle_photographe.php">Photographes</a></li> 
                </ul> 
        </li> 
 
        <li> 
            <input type="text" name="rechercher"value="rechercher"/> 
        </li> 
 
        
</ul> 
</div> 
<!--Fin Menu Onglets--> 
           
</div> <!-- fin div header --> 
 
<div id="colonne_gauche"> 
    <div id="fleche_preced"> 
        <img src="images/fleche_precedent.gif" alt="precedent"/> 
    </div> 
 
    
 
     
<div id="colonne_droite"> 
    <div id="fleche_suiv"> 
        <img src="images/fleche_suivant.gif" alt="suivant"/> 
    </div> 
   
</div> 
 
</div> 
          
 <div id="principal"> 
 
 <div id="label_haut"> 
               <div id="label_client"> 
			  <label>CLIENT</label> 
			  </div> 
 </div> 
 <div id="text_box"> 
<label>Nom</label>   
 
</div><!-- fin div texbox --> 
</div><!-- fin div principal --> 
</div> <!-- fin div global--> 
</body> 
</html> 
<br /> 
<b>Warning</b>:  Unknown: 1 result set(s) not freed. Use mysql_free_result to free result 

Re: erreur var_dump

Posté : 02 févr. 2011, 12:48
par stealth35
la gestion des erreurs doit être au tout début du code. ton var_dump ligne dois être hors du empty

Re: erreur var_dump

Posté : 02 févr. 2011, 12:56
par 63renaud
je viens de mettre le code en tout début de ma page
<?php
if (!empty($ligne)) {
  
}
ini_set('display_errors', 1);
error_reporting(-1);
?>

et var_dump en dessous du label nom
voici les erreurs
 
Notice: Undefined index: id_xguest in C:\wamp\www\Base_donnees_fred\afficher_client.php on line 22
et devant NOm bool(false)

merci

Re: erreur var_dump

Posté : 02 févr. 2011, 13:01
par 63renaud
je viens de supprimer ma mise en page et ja'i juste laissé les codes php et changé id_xguest par xguest_nom
voici ce que j'obtiens

Notice: Undefined index: xguest_nom in C:\wamp\www\Base_donnees_fred\afficher_client.php on line 14
array(42) { [0]=> string(2) "21" ["id_xguest"]=> string(2) "21" [1]=> string(0) "" ["xguest_nom"]=> string(0) "" [2]=> string(0) "" ["xguest_prenom"]=> string(0) "" [3]=> string(0) "" ["xguest_inscription"]=> string(0) "" [4]=> string(0) "" ["xguest_adresse"]=> string(0) "" [5]=> string(0) "" ["xguest_ville"]=> string(0) "" [6]=> string(1) "0" ["xguest_cp"]=> string(1) "0" [7]=> string(1) "0" ["xguest_tel"]=> string(1) "0" [8]=> string(1) "0" ["xguest_mobil"]=> string(1) "0" [9]=> string(0) "" ["xguest_email"]=> string(0) "" [10]=> string(0) "" ["xguest_site"]=> string(0) "" [11]=> string(0) "" ["xguest_stageN"]=> string(0) "" [12]=> string(0) "" ["xguest_stageV"]=> string(0) "" [13]=> string(0) "" ["xguest_stageNb"]=> string(0) "" [14]=> string(0) "" ["xguest_info1"]=> string(0) "" [15]=> string(0) "" ["xguest_info2"]=> string(0) "" [16]=> string(10) "0000-00-00" ["xguest_dateAppel"]=> string(10) "0000-00-00" [17]=> string(0) "" ["xguest_rap"]=> string(0) "" [18]=> string(0) "" ["xguest_rep"]=> string(0) "" [19]=> string(0) "" ["xguest_absc"]=> string(0) "" [20]=> string(0) "" ["xguest_fauxN"]=> string(0) "" } 
Warning: Unknown: 1 result set(s) not freed. Use mysql_free_result to free result sets which were requested using mysql_query() in Unknown on line 0

Re: erreur var_dump

Posté : 02 févr. 2011, 13:37
par moogli
ben xguest_ n'existe pas ligne 14 donc soit le formulaire est pas bon soit code l'est pas ;)


@+

Re: erreur var_dump

Posté : 02 févr. 2011, 14:39
par 63renaud
oui j'ai eu la même réflexion, je recherche cette erreur .

merci très sincèrement
je te donnerai la réponse

merci

Re: erreur var_dump

Posté : 02 févr. 2011, 14:54
par 63renaud
j'ai trouvé l'erreur

dans ma page liste.php je faisais un lien vers une page affiche_détail.php avec un bouton.
mais j'avais mal déclaré le champs id. voilà pourquoi il ne le trouvait pas dans la page affiche_détail.php.

merci beaucoup pour ta patience et dis moi comment faire pour te remercier financièrement.

bonne journée