[mysql]fonction mysql_fetch_array

Fermé
reda - 3 août 2005 à 12:00
 reda - 3 août 2005 à 16:57
Salu a tous
J'ai un pb avec la fonction mysql_fetch_array, en fait je fais un test pour savoir s'il y a une donnée dans ma table si elle existe, je lance un message d'avertissement si on desire l'enregistrer à nouvo.
Je vous mets le bou de code correspondant et l'erreur que l'on m'affiche.
$sql = "select count(*) from `table_service` where `idservice` = 'suptel'";
$temp = mysql_query($sql);
$res = mysql_fetch_array($temp);
if($res[0] == 0 || $res[0]=='')
{
echo "reda";
}
L'erreur donnée est : Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource

Merci de m'aider je suis en galère depuis hier soir!
A voir également:

22 réponses

b.d Messages postés 31 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 18 janvier 2006 10
3 août 2005 à 13:31
salut reda

quant tu fait select count c un nombre qu'il te renvoie et si tu

essaies d'appliquer mysql_fetch_array ca marche pas,

je te conseille d'écrire

$sql = "select * from `table_service` where `idservice`

= 'suptel'";

$res = mysql_fetch_array($temp);

if($res[0] == 0 || $res[0]=='')

{
echo "reda";
}
0
Salu B.D c cool de m'aider
J'ai fé ce ke tu m'as dis mais j'ai tjs la même erreur.
c'est tu d'ou cela peut venir.
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
3 août 2005 à 13:57
Eleve les quotes inversees de chaque cote du nom de ta table, et utilise plutot mysql_result pour recuperer juste un seul resultat :
$sql = "select count(*) from table_service where idservice = 'suptel'"; 
$temp = mysql_query($sql); 
$res = mysql_result($temp, 0);
if (empty($res)) 
   {echo "reda";}

Pour voir... Et essaie de lancer ta requete dans PHPMyAdmin, il te renverra l'erreur renvoyée par MySQL, beaucoup plus lisible que celle renvoyée par PHP.
0
b.d Messages postés 31 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 18 janvier 2006 10
3 août 2005 à 14:01
j'espère que tu t'es bien connecté et que tu as bien choisi la bonne base de données maintenant essaie ceci et dis moi l'erreur que tu as s'il y'en a:

$sql = "select * from `table_service` where `idservice`

= 'suptel'";

$temp = mysql_query($sql) or die("Query failed");

;

if($res = mysql_fetch_array($temp)) {
echo"il y'a quelque chose";
}
else echo"il n'ya rien";
0

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

Posez votre question
merci vrémen de m'aider il y a marké query failed avec le bout de code que tu ma filé
0
b.d Messages postés 31 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 18 janvier 2006 10
3 août 2005 à 14:18
reda là tu as un pb de requéte mysql ne parvient pas à executer la

requête,essaie de voir si tu t' es bien connecté à la base, tu peux

utiliser :

$link = mysql_connect("mysql_hote", "mysql_utilisateur", "mysql_mot_de_passe")
or die("Impossible de se connecter");
echo "Connexion réussie";
mysql_select_db("my_database") or die("selection impossible");
0
Salu Strem il y a marké une erreur de syntaxe dans phpmmyadmin sinon sur php ya marké ca mysql_result(): supplied argument is not a valid MySQL result resource
0
StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
3 août 2005 à 14:18
Il doit te mettre syntax error NEAR...
C'est ce qui est apres le "near" qui est interessant.
0
Alors dsl je fesé les tests
Il y a desormais marké il n'y a rien. C'est bizarre vu ke dans la teble il y a bien suptel
Je ne vois pas. La connexion est bien réalisée
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
3 août 2005 à 14:37
Bonjour,

Voici le script permettant de savoir le nombre de tuples qui ont comme id_service "suptel" de la table "table_service"

<html>
<head>
<title>Lecture d'une table mysql</TITLE>
</HEAD>
<BODY>
<?
      $dbc = @mysql_connect ("localhost", "root", "");
      if(!mysql_errno($dbc))
	{
		mysql_select_db("nom_de_la_base");

		$requete = "select count(*) from table_service where idservice = 'suptel' ";

		$result=@mysql_query($requete) or die("Impossible de se connecter : " . mysql_error());

		mysql_close();

		while($ligne=mysql_fetch_array($result, MYSQL_NUM))
               {
			echo " nombre de tuple : ".$ligne[0];
		}
	}
	else
	{
		echo mysql_errno($dbc)." : ".mysql_error($dbc)."\n";
	}       
?>
</BODY>
</html>

0
J'ai fé des tests sous phpmyadmin la requête fonctionne lorske je fé une recherche sur un nb mais lorske je mé un mot ca ne m'affiche plus rien.
Pouvez me dire ce ki ne va pas le pb c ke lorske j'affiche la table il y a bien les mots
0
b.d Messages postés 31 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 18 janvier 2006 10
3 août 2005 à 14:48
tu dis que maintenant ca fonctionne mais il t'affiche il n'y rien:

mais est que ta requête renvoie quelque chose?

si tu peux m'envoter le contenu de la table ce serait mieux.
0
Merci encore de votre aide c super cool
Alors la rekête marche bien lorske je fé par ex SELECT * FROM `table_service` WHERE `nb_question` ='6'
En ravanche qd je fé ELECT * FROM `table_service` WHERE `id_service` ='suptel' il ne m'affiche rien.
Je ne voisd'ou ca vien
Je t mis ma table

idservcie titre_service nb_question
suptel Support Téléphonique 6
depdom Dépannage à domicile 6
Vente Materiel tout public 6
0
b.d Messages postés 31 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 18 janvier 2006 10
3 août 2005 à 15:10
reda regarde bien ce que tu as ecris sur ce que tu me donnes il y'a

idservice qui est collé sans trait de soulignement et sur la requête

ya un trait de soulignement rectifie et vois si ca marche
0
Dsl B.D j'ai mal copié la ligne mais en tou cas ca ne marche pas.
C très bizare car je viens de rajouter une donnée dans la table avec phpMyAdmin et lorske je fé la rekête j'ai bien l'affichage de la ligne.
Je ne compren pas, j'ai enregistrer mes données qui viennent d'un tablo. Normalemen ca ne doi pas poser de problème
La je crois ke je suis vrémen dans la merde
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
3 août 2005 à 15:30
dans la base de donnée, il n'y a pas d'espace aprés suptel ???
0
C'est la question ke je me suis posé mais je ne sé pas commen verifié.
Peux tu me dire comment stp
0
b.d Messages postés 31 Date d'inscription vendredi 22 juillet 2005 Statut Membre Dernière intervention 18 janvier 2006 10
3 août 2005 à 15:51
là je ne vois pas bien je te conseille de reconstruire ta base pour voir s'il n'y a pas une petite erreur qui s'est glissée
0
Merci B.D t super cool
C pa grave je vais essayer de trouver l'erreur ca va être cho mé bon!!
Allé bonne soirée
0
ceddec Messages postés 148 Date d'inscription dimanche 31 juillet 2005 Statut Membre Dernière intervention 10 mars 2012 82
3 août 2005 à 15:59
j'ai fais des test en local et j'ai eu le même problème,
lorsque j'affiche la taille des valeurs présents dans ma bdd, j'ai vu qu'il y avait un caractère en trop. Apres plusieurs test je me suis apercu qu'il y avait un espace devant. Pourquoi? Aucune idée!

Donc essaie d'utiliser cette requete :
SELECT * FROM table_service WHERE id_service=' suptel'

(il y a un espace devant subtel)
0
Slt Ceddec
Avec l'espace ca ne marche pas mais peut tu me dire comment as tu fé pour trouver la taille des données qui sont stockées dans ma table
C cool
0