Notice: Undefined variable: resultat in C:

Fermé
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014 - 9 mai 2014 à 09:57
 peeth - 5 mars 2021 à 20:35
Bonjour tout le monde et merci d'avance à ceux qui voudrons me venir en aide par leurs apport à mon problème,
je suis entrain de developer 1 base de données de recherche de produits.
quand je fait 1e recherche ds la BDD elle affiche normalement mais le problème c'est que lors de l'affichage de la page il ya ce message qui s'affiche à l'endroit où est sensé s'afficher les resultats sur le produits recherché:

Notice: Undefined variable: resultat in C:\wamp\www\london_BD\index.php on line 124

Call Stack
# Time Memory Function Location
1 0.0010 150760 {main}( ) ..\index.php:0


Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\london_BD\index.php on line 124
Call Stack
# Time Memory Function Location
1 0.0010 150760 {main}( ) ..\index.php:0
2 0.0030 158048 mysqli_fetch_array ( ) ..\index.php:124


Voici la partie de mon code qui me signale où est l'erreur et que je n'arrive pas corrigé


124: <?php while($articles= mysqli_fetch_array($resultat)){?>

<tr>
<td><?php echo $articles["nomprod"]; ?></td>
<td><?php echo $articles["prix"]; ?></td>
<td><?php echo $articles["categorie"]; ?></td>
<td><?php echo $articles["nbre"]; ?></td>
</tr>
<?php }


Vraiment si vous pouvez m'aidez à resoudre ce problème qui me tracasse depuis quelques jours

5 réponses

Utilisateur anonyme
9 mai 2014 à 10:04
Bonjour

Un peu avant cette ligne 124, tu devrais avoir une ligne $resultat=mysqli_query(...
Le problème est que cette ligne n'est pas exécutée, ou que ce n'est pas $resultat qu'il y a à gauche du =, car le message dit que la variable $resultat n'est pas définie.
Si ça ne t'aide pas, montre le code depuis le début jusqu'à la ligne 124 (en cachant les identifiants s'il y en a)
1
merci infiniment
0
Utilisateur anonyme
9 mai 2014 à 10:04
salut,

le message te dis que $resultat est null. Il faut donc vérifier son implémentation.

naga
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
9 mai 2014 à 10:51
si il ya en a, le voici:
$resultat=mysqli_query( $connexion,$requete);
c'est juste que j'ai oublié de le mettre
0
Utilisateur anonyme
9 mai 2014 à 12:02
rajoute un teste autour histoire de vérifier tout de même :


if($resultat=mysqli_query( $connexion,$requete))
{
.
.
.
}
else
{
echo 'erreur lors du requêtage';
}


0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
9 mai 2014 à 16:29
j'ai ajouté ce teste dans la ligne, le probleme est que ça n'a changé rien du tout, le navigateur signale l'erreur est juste maintenant au niveau du teste, et c'est le sinon qui s'affiiche voici le code:


(ça c'est la partie de la connexion a la BDD)

<?php
$connexion=mysqli_connect("localhost","root","", "londonbd");
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}


if(isset($_POST['bouton']))
{
$nomprod= htmlentities($_POST['nomprod']);


$requete .=("SELECT nomprod,prix,categorie,nbre FROM articles WHERE nomprod LIKE '%".$nomprod."%' ");

}
?>

(ici c'est la partie du tableau d'affichage)

<p>
<table width="420" border="1" cellspacing="0" cellpadding="5">
<tr>
<td><strong>Nom</strong></td>
<td><strong>Prix</strong></td>
<td><strong>Rayon</strong></td>
<td><strong>Quantité</strong></td>
</tr>
<?php
125: if($resultat=mysqli_query( $connexion,$requete))
{
while($articles= mysqli_fetch_array($resultat)){?>

<tr>
<td><?php echo $articles["nomprod"]; ?></td>
<td><?php echo $articles["prix"]; ?></td>
<td><?php echo $articles["categorie"]; ?></td>
<td><?php echo $articles["nbre"]; ?></td>
</tr>
<?php }

}else
{

echo 'erreur lors du requêtage';
}
mysqli_close($connexion);
?>

</table>


<br></p>


voilà ce qui s'affiche

Notice: Undefined variable: requete in C:\wamp\www\london_BD\index.php on line 125
Call Stack
# Time Memory Function Location
1 0.0010 151192 {main}( ) ..\index.php:0

( ! ) Warning: mysqli_query(): Empty query in C:\wamp\www\london_BD\index.php on line 125
Call Stack
# Time Memory Function Location
1 0.0010 151192 {main}( ) ..\index.php:0
2 0.0020 158488 mysqli_query ( ) ..\index.php:125

erreur lors du requêtage
0
Utilisateur anonyme
9 mai 2014 à 16:38
ok

écris

$requete = "SELECT nomprod,prix,categorie,nbre FROM articles WHERE nomprod LIKE '%".$nomprod."%' "; 


et ca ne devrai plus poser problème (si $nomprod existe bien).
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
9 mai 2014 à 16:52
je viens d'echangé mais ça ne change pas le message s'affiche toujours. franchement je sais plus quoi pensé, c'est le même message qui s'affiche

Notice: Undefined variable: requete in C:\wamp\www\london_BD\index.php on line 124
Call Stack
# Time Memory Function Location
1 0.0010 151192 {main}( ) ..\index.php:0

( ! ) Warning: mysqli_query(): Empty query in C:\wamp\www\london_BD\index.php on line 124
Call Stack
# Time Memory Function Location
1 0.0010 151192 {main}( ) ..\index.php:0
2 0.0120 158488 mysqli_query ( ) ..\index.php:124
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
9 mai 2014 à 16:56
pourtant mon code est bien ecris selon que j'ai appris, l'erreur est signalé à

124: if($resultat=mysqli_query( $connexion,$requete))
selon le navigateur c'est là qu'il ya une erreur
0
Utilisateur anonyme
9 mai 2014 à 11:11
Tu as aussi oublié de mettre les 123 lignes précédentes.
Le message ne laisse aucun doute : ta variable $resultat n'est pas définie, donc soit la ligne n'est pas vraiment celle que tu as mise, soit elle n'est pas exécutée pour une raison quelconque.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
9 mai 2014 à 16:32
mais comment definir une variable en PHP, à ce que je sache, la declaration d'une variable en PHP très simplement en l'ecrivant, il n'ya pas la notion de type dans le PHP, on declare et après on l'utilise directement.
Peut tu être un peu plus claire? please
0
Utilisateur anonyme
9 mai 2014 à 17:16
1 - Non, une variable ne se déclare pas simplement en l'écrivant. C'est en lui affectant une valeur qu'on la crée. Je précise, en supposant que $truc n'existe pas encore :
$truc=3; est correct et déclare bien une nouvelle variable
if ($truc==3) est une erreur, pas une déclaration de variable.

2 - Si, il y a une notion de type en PHP. Ce qui ne veut pas dire qu'on doit déclarer une variable avec son type : faut pas tout mélanger.

Si tu ne veux pas donner le code, je ne pourrai pas t'aider. Mais je constate que dans ton message de 16h29, ce n'est plus $resultat mais $requete qui est non défini : les messages d'erreur ont changé.
Tu as changé quelque chose dans ton code, et tant mieux si ça avance.
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
9 mai 2014 à 18:17
voici le code:


<?php
$connexion=mysqli_connect("localhost","root","", "londonbd");
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}


if(isset($_POST['bouton']))
{
$nomprod= htmlentities($_POST['nomprod']);

$requete = "SELECT nomprod,prix,categorie,nbre FROM articles WHERE nomprod LIKE '%".$nomprod."%' ";

$resultat=mysqli_query( $connexion,$requete);
}
?>



<p>
<table width="420" border="1" cellspacing="0" cellpadding="5">
<tr>
<td><strong>Nom</strong></td>
<td><strong>Prix</strong></td>
<td><strong>Rayon</strong></td>
<td><strong>Quantité</strong></td>
</tr>
<?php
if($resultat=mysqli_query( $connexion,$requete))
{
while($articles= mysqli_fetch_array($resultat)){?>

<tr>
<td><?php echo $articles["nomprod"]; ?></td>
<td><?php echo $articles["prix"]; ?></td>
<td><?php echo $articles["categorie"]; ?></td>
<td><?php echo $articles["nbre"]; ?></td>
</tr>
<?php }

}else
{

echo 'erreur lors du requêtage';
}

mysqli_close($connexion);
?>

</table>


<br></p>

l'erreur est signalé au niveau de :

while($articles= mysqli_fetch_array($resultat)){?>
0
Utilisateur anonyme
9 mai 2014 à 18:54
Et que dit exactement ce message d'erreur ? Car au vu de ce code, j'ai vraiment du mal à croire que la variable $resultat soit non définie.
Si c'est $requete, suis les explications de nagashima.
0
modemo2005 Messages postés 23 Date d'inscription mercredi 22 janvier 2014 Statut Membre Dernière intervention 20 octobre 2014
10 mai 2014 à 14:27
Même moi-même jusqu'alors çq m'etonne qu'il ait une erreur, j'en viens à pensé que c'est peut être un pb de compatibilité avec les naviguateurs, voici ce que dit l'erreur:

Notice: Undefined variable: requete in C:\wamp\www\london_BD\index.php on line 124
Call Stack
# Time Memory Function Location
1 0.0010 151192 {main}( ) ..\index.php:0

( ! ) Warning: mysqli_query(): Empty query in C:\wamp\www\london_BD\index.php on line 124
Call Stack
# Time Memory Function Location
1 0.0010 151192 {main}( ) ..\index.php:0
2 0.0120 158488 mysqli_query ( ) ..\index.php:124
0
Utilisateur anonyme
11 mai 2014 à 17:05
Aucun rapport avec le navigateur.
Ton premier message disait : Undefined variable: resultat. Maintenant tu dis : Undefined variable: requete. Ça n'a aucun rapport.

Ta variable $requete est effectivement non définie et nagashima t'a déjà bien répondu à ce sujet.
0