Notice: Undefined variable: resultat in C: [Fermé]

Signaler
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014
-
Messages postés
4242
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
-
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


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

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 61024 internautes nous ont dit merci ce mois-ci

Messages postés
4242
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
190
salut,

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

naga
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

si il ya en a, le voici:
$resultat=mysqli_query( $connexion,$requete);
c'est juste que j'ai oublié de le mettre
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

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
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

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
Messages postés
4242
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
190
ah mais c'est le if le problème :

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


$requete =("SELECT user_id FROM t_user"); 

} 



quand tu ne viens pas de post, $requête n'existe pas et donc tu as ton message d'erreur x] en fait tu as une accolade fermante qui ne devrait pas être là (celle qui est affiché dans ce message)
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

excuse moi je ne comprend pas bien ce que tu as voulu m'expliqué en parlant des acollade
Messages postés
4242
Date d'inscription
samedi 8 septembre 2007
Statut
Membre
Dernière intervention
29 août 2018
190
tu as une '}' en trop

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.
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

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
Utilisateur anonyme
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.
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

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)){?>
Utilisateur anonyme
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.
Messages postés
23
Date d'inscription
mercredi 22 janvier 2014
Statut
Membre
Dernière intervention
20 octobre 2014

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
Utilisateur anonyme
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.