Probleme mysql_fetch_row() et mysql_num_rows()

cs_Zenith Messages postés 67 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 27 avril 2008 - 29 oct. 2004 à 14:32
cs_Zenith Messages postés 67 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 27 avril 2008 - 11 nov. 2004 à 16:08
Bonjour, je suis en train de me faire un script de recherce dans une base de donnée, mais je rencontre des problemes. en effet, lors de l'execution de mon script, je rencontre une erreur avec les fonctions citees dans le sujet ( mysql_fetch_row() et mysql_num_rows() )
le script etant en plusieurs pages, vous le trouverez ici:

http://membres.lycos.fr/senegalcg/recherche.zip

voila exactement les messages que je recois:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in f:\program files\easyphp\www\test\result_recherche.php on line 23

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in f:\program files\easyphp\www\test\result_recherche.php on line 43


alors voila... d'ou vien mon erreur ? :(

merci et a+
8-) : : : -[ Zenith ]- : : : 8-)

5 réponses

phpwankenobi Messages postés 152 Date d'inscription jeudi 10 avril 2003 Statut Membre Dernière intervention 18 novembre 2004
29 oct. 2004 à 16:20
Salut,

Pas été voir ton source mais t'as ce genre de message quand ta requête est pas bonne.

Il est d'usage de tester le code retour des requêtes avant d'essayer d'exploiter les résultats...

A+
0
cs_Zenith Messages postés 67 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 27 avril 2008
1 nov. 2004 à 21:05
merci. mais... comment on fait ca ? :'(
a+ 8-) : : : -[ Zenith ]- : : : 8-)
0
Zebra1928 Messages postés 163 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 27 janvier 2016
9 nov. 2004 à 13:57
slt,

envoie ton script et on t'aidera.

2 PAC--

@ -:)

Zebra
0
cs_Zenith Messages postés 67 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 27 avril 2008
11 nov. 2004 à 16:05
<html>

Recherche

<?php
$MySQLHost = "localhost";
$MySQLUser= "root";
$MySQLPassword = "";
$MySQLDataBase = "base";
$MySQLDataTable = "table";

$MySQLConnectingPeople = mysql_connect("$MySQLHost","$MySQLUser","$MySQLPassword");
mysql_select_db($MySQLDataBase,$MySQLConnectingPeople);

?>
<form method="post" action="<?echo $PHP_SELF?>">

</form>

<?

function vachercher_tarace($table_tarace,$champ_tarace,$motclef_tarace)
{
$tous = mysql_query("SELECT * FROM $table_tarace");
$nb_tous = mysql_num_rows($tous);
$f_etou = "OR"; // ou AND

$etou=$f_etou;
//s'il y a eu saisie :
if ($motclef_tarace!="" )
{
$motclefs = split(" ",$motclef_tarace);
$nb_motclefs = count($motclefs);
$critere=" * like '%$motclefs[0]%'";
$z=1;
while($z<$nb_motclefs){
$critere.=" $etou * like '%$motclefs[$z]%'";
$z++;

}
}else{
echo "veuillez rentrer un ou plusieurs mots";
}

// NOMBRE D'ENREGISTREMENTS REPONDANT A LA REQUETE sur tutoriel
$requete = mysql_query("SELECT * FROM $table_tarace where * like '%motclefs[0]%'");
$nbT=mysql_num_rows($requete);

if ($nbT==0)
{ // DEFINITION DU MESSAGE A AFFICHER S'IL NY A PAS DE RESULTATS
echo "
Désolé, aucune fiche ne correspond à tous les critères indiqués. Vérifiez l'orthographe, diminuez le nombre de critères et relancez la recherche.
";}

else{ // AFFICHAGE DES RESULTATS PAGE PAR PAGE

if ($nbT>1) {$s= "s";} // utilisé pour éviter une faute d'orthographe dans la ligne en dessous...
echo "3 and $pge>2)
{
echo " Début ";
}
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGES EST 0)
if ($pge>0){
$precedent =$pge-1;
echo "
< ";
}
// AFFICHAGE DES NUMEROS DE PAGE
$i= 0;$j=1;
if($nbT>$limit){
while($i<($nbpages)){ // pour limiter l'affichage du nombre de pages restantes
if ($i>$pge-3 and $i<$pge+3){
if($i!=$pge){echo "$j ";}
else {echo " $j ";}//met en gras le N° de la page en cours
}//fin du if i>pge....
$i++;$j++;}//fin du while i<nbpages
} //fin du if nbT>limit
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($pge<$nbpages-1){
$suivant =$pge+1;
echo "> ";
}
// affichage de la dernière page si nécessaire
if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
echo "fin ($nbpages)";
}

}// fin du else affichage des résultats.
}// fin du si il y a eu saisie

vachercher_tarace("tutoriel","*",$tofind);
?>

</html>
0

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

Posez votre question
cs_Zenith Messages postés 67 Date d'inscription mardi 24 décembre 2002 Statut Membre Dernière intervention 27 avril 2008
11 nov. 2004 à 16:08
arf
desole

voila en mieux

<html>

Recherche

<?php
$MySQLHost =  "localhost";
$MySQLUser= "root";
$MySQLPassword = "";
$MySQLDataBase = "base";
$MySQLDataTable = "table";

$MySQLConnectingPeople = mysql_connect("$MySQLHost","$MySQLUser","$MySQLPassword");
mysql_select_db($MySQLDataBase,$MySQLConnectingPeople);

?>
<form method="post" action="<?echo $PHP_SELF?>">

</form>

<?

function vachercher_tarace($table_tarace,$champ_tarace,$motclef_tarace)
{
$tous = mysql_query("SELECT * FROM $table_tarace"); 
$nb_tous = mysql_num_rows($tous); 
$f_etou = "OR"; // ou AND

$etou=$f_etou; 
//s'il y a eu saisie :
if ($motclef_tarace!="" )
{
$motclefs = split(" ",$motclef_tarace); 
$nb_motclefs = count($motclefs); 
$critere=" * like '%$motclefs[0]%'"; 
$z=1;
while($z<$nb_motclefs){
$critere.=" $etou * like '%$motclefs[$z]%'"; 
$z++;

}
}else{
echo "veuillez rentrer un ou plusieurs mots";
}

// NOMBRE D'ENREGISTREMENTS REPONDANT A LA REQUETE sur tutoriel
$requete = mysql_query("SELECT * FROM $table_tarace where * like '%motclefs[0]%'");
$nbT=mysql_num_rows($requete);

if ($nbT==0) 
{ // DEFINITION DU MESSAGE A AFFICHER S'IL NY A PAS DE RESULTATS
echo "
 Désolé, aucune fiche ne correspond à tous les critères indiqués. Vérifiez l'orthographe, diminuez le nombre de critères et relancez la recherche.
";}

else{ // AFFICHAGE DES RESULTATS PAGE PAR PAGE

if ($nbT>1) {$s= "s";} // utilisé pour éviter une faute d'orthographe dans la ligne en dessous...
echo "3 and $pge>2)
{
echo  " Début  ";
}
// AFFICHAGE DU LIEN PRECEDENT SI BESOIN EST (LA PREMIERE PAGES EST 0)
if ($pge>0){
$precedent =$pge-1;
echo  "
< ";
}
// AFFICHAGE DES NUMEROS DE PAGE
$i= 0;$j=1;
if($nbT>$limit){
while($i<($nbpages)){ //  pour limiter l'affichage du nombre de pages restantes
if ($i>$pge-3 and $i<$pge+3){
if($i!=$pge){echo "$j ";}
else {echo " $j  ";}//met en gras le N° de la page en cours
}//fin du if i>pge....
$i++;$j++;}//fin du while i<nbpages
}	//fin du if nbT>limit
// AFFICHAGE DU LIEN SUIVANT SI BESOIN EST
if($pge<$nbpages-1){
$suivant =$pge+1;
echo "> ";
}
// affichage de la dernière page si nécessaire
if($nbpages>3 and $pge<$nbpages-3){
$fin=$nbpages-1;
echo  "fin ($nbpages)";
} 

}// fin du else affichage des résultats.
}// fin du si il y a eu saisie

vachercher_tarace("tutoriel","*",$tofind);
?>

</html>
0
Rejoignez-nous