Probleme php isset et empty [Résolu/Fermé]

Signaler
-
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
-
Bonjour,
J'ai un probleme avec mon script php.

Que je m'explique : le script est sensé m'ouvrir un tableau avec 3 informations. Pour cela je diverses requetes SQL pour mon affichage.

Apres, pour une modification je recupere l'id de l'enregistrement (l'id est un champ numeric auto incremente)

Le probleme, est que lorsque je supprime un enregistrement, et que je réouvre les informations, au lieu de m'afficher 'Pas de contact ' il m'affiche une erreur sur la ligne 54 qui est la suivante:

$resultat = mysql_result($req9,0) or die("erreur result 2".mysql_error());

Cette ligne est lié a celle ci : $req9 = mysql_query($sql8) or die("erreur SQL 9".mysql_error());

Voila ma condition d'affichage

if(empty($req9))
{
echo 'Pas de Contact';
}
elseif(isset($req9))
{
$resultat = mysql_result($req9,0) or die("erreur result 2".mysql_error());
}


Et voila le message d'erreur

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 6 in C:\Program Files\EasyPHP 3.0\www\Nouveau site banquestage\contact_entreprise.php on line 54 erreur result 2

Je ne comprend pas pourquoi il ne m'affiche pas l'echo dans la condition comme il devrait le faire

Merci

14 réponses

Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
Si je ne m'abuse, or die stoppe l'execution du script du coup la suite du code n'est pas effectué.
En effet sauf que maintenant il m'affiche le message d'erreur en haut de page et le tableau vide (ce qui est normal pour le tableau )

Comment reussir a enlever ce mesage d'erreur?
En fait non rien de normal il est sensé m'afficher juste
'Pas de contact'
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
Donc maintenant tu as "$req9=mysql_query($sql8);", c'est ca?

le truc c que mysql_query() retourne une ressource en cas de réussite et false en cas d'echec, donc $req9 ne sera pas vide, remplace "if(empty($req9))" par "if(!$req9)" ca devrait marcher
Il n'y à hélas aucun changement, toujours l'affichage du message d'erreur.
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
fais un echo "$req9" pour voir ce qui est retourné
Voila l'echo $req9;

Resource id #6
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
donc ta requete $sql8 retourne bien quelquechose et n'est donc pas vide d'ou le passage a la deuxieme condition.
Seulement dans la table plus aucun enregistrement ne correspond.

Quand l'enregistrement existé et que je faisait un echo je voyait l'id du contact
En appuyant sur supprimer je supprime l'enregistrement entier. Plus rien ne devrais exister.

Apparement ce n'est pas le cas, pourtant la table est bien vide.
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
en fait ta requete etant valide, mysql_query te retourne une ressource meme si aucun enregistrement correspondant n'a été trouvé je pense. essaye plutot de baser ta condition sur le nombre d'enregistrement retourné
si tu parle du $req9 = mysql_num_rows($sql8) or die("erreur SQL 9".mysql_error());

il m'affiche : Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\Program Files\EasyPHP 3.0\www\Nouveau site banquestage\contact_entreprise.php on line 46
erreur SQL 9
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
mysql_num_rows() ne fonctionne pas sur la requete mais sur le resultat obtenu avec mysql_query( la ressource) donc c'est mysql_num_rows($req9) que tu peux mettre dans ta condition genre if (mysql_num_rows($req9)==0)
C'est parfait tu est un as sa marche.

Merci beaucoup et bonne fin de journée
Messages postés
253
Date d'inscription
samedi 24 novembre 2007
Statut
Membre
Dernière intervention
25 juillet 2009
54
De rien, bonne fin de journée a toi aussi pense a mettre le sujet en résolu.


edit: pardon ct deja fait lol.