Warning: (script php)

txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   -  
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   -
Salut a tous les specialistes.
suite a une requete, j'ais l'erreur suivante:
Warning: Supplied argument is not a valid MySQL result resource in page2.php on line 67
Aucun prénom masculin enregistré pour cette lettre
Si je regarde la ligne 67, voici ce que j'ai:
$res = mysql_numrows($req);
sur http://txiki.free.fr/origine_noms, au milieu de la page se trouve lelien "prenoms mythologiques qui lance le script de page_2.php
Je coche le bouton radio du A, puis celui de Masculin et enfin Rechercher. (il y a 8 prénoms commençant par A et masculins dans cette catégorie).

merci infiniement pour votre aide.  ;-))
http://abarka.free.fr

2 réponses

Jean-François Pillou Messages postés 19261 Date d'inscription   Statut Webmaster Dernière intervention   63 277
 
Bonjour txiki,
D'une part la fonction mysql_numrows s'écrit mysql_num_rows,
d'autre part elle prend comme argument non pas la requête mais le résultat de la requête :

$link = mysql_connect("localhost", "username", "password");
mysql_select_db("database", $link);

$result = mysql_query("SELECT * FROM tableMaTABLE", $link);
$num_rows = mysql_num_rows($result);



0
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Merci beaucoup mais je suis vraiment un bleu en matiere de programmation.
Dois-je écrire les 4 lignes et surtout à quel endroit.
$db = mysql_connect($host, $ident, $pass);
mysql_select_db(prenoms, $db);
ci-dessus les lignes 23 et 24 du script
ce qui ne correspond pas tout a fait a ce que tu ecrit (le script n'est pas de moi)
<?
if($lettre AND $sexe){
$req = mysql_query("select * from recherche where sexe='$sexe' and prenom LIKE '$lettre%' order by prenom");
$res = mysql_numrows($req);
if($res!=0){
print("
<div align='center'>
<form name='prenoms'>
<select name='prenoms' onChange=\"MM_jumpMenu('parent',this,1)\">
<option value='page2.php' selected>Prénoms</option>
");
ci-dessus les lignes 64 a 74
si tu veux, je t'envoi le script complet si peux me regarder ça, ce serait vraiment cool.
merci pour le tuyau. ! ;-))
http://abarka.free.fr
0
ghys
 
chtite info
si tu effectue une requete mysql du style
$row=mysql_query("UPDATE `table` SET `champ`=expr WHERE `champ`=valeur");
puis que tu verifie le nombre de résultats
$res=mysql_num_rows($row);
bé tu auras ton message "Warning: Supplied argument is not a valid MySQL result resource in page2.php"

La raison est simple: $row ne contient pas des resultats mais un booléen (dans ce cas la)...

donc $row contient soi une valeur "true" ou "false" (booleen), soit les results de ta requete
du coup, tu peut tester

//effectuer requete
$row=mysql_query(...);
if ($rows)
{
$res = mysql_numrows($req);
...
}
else
echo"ta requete ne fonctionne pas!";

INFO:
ton erreur est souvent due à la non protection de noms de champs de table par des `.
0
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Salut ghys,
Quand tu parle de non protection de nom de champ de table, j'imagine que tu veux parler du back slash avant une cote ? Ce n'est pas le cas pour ma
merci pour le tuyau. ! ;-))
http://abarka.free.fr
0
txiki Messages postés 6596 Date d'inscription   Statut Contributeur Dernière intervention   521
 
Salut ghys,
Quand tu parle de non protection de nom de champ de table, j'imagine que tu veux parler du back slash avant une cote ? Ce n'est pas le cas pour ma table. Par contre il y a des caractères avec des tildes (~), accents circonflexes (^). Font-ils partis des caractères réservés a PHP ?
As-tu le moteur de recherche http://txiki.free.fr/origine_noms.php3 (prénoms mythologiques)
Je t'envoie par mail le script complet, si tu a l'extreme amabilité d'y jeter un coup d'oeil.
merci encore infiniement pour votre aide précieuse ;-))
http://abarka.free.fr
0