IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

mysql_num_rows(): supplied argument is not a valid MySQL result resourc [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2009
    Messages : 43
    Par défaut mysql_num_rows(): supplied argument is not a valid MySQL result resourc
    Bonsoir,

    Venant de changer d'hebergeur, j'ai mon code php qui ne fonctionne plus (et je n'y connais pas grand chose).

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    <?php
    mysql_connect("host", "utilisateur", "mdp");
    mysql_select_db("base"); 
    
    if (isset($_POST['recherche']))
    {
    	if (isset($_POST['prenom']) and (isset($_POST['nom'])))
    	{
    		$resultat = mysql_query("SELECT date,course,temps,moyenne,classement FROM result where nom='$_POST[nom]'and prenom='$_POST[prenom]' order by date desc");
    		$nom = mysql_real_escape_string($_POST['nom']);
    		$prenom = mysql_real_escape_string($_POST['prenom']);
    		if(mysql_num_rows($resultat) >= 1)
    		{
    		echo '<h4>Les résultats de votre recherche:</h4>';
    		echo '<br>';
    		echo '<table>';
    		echo '<tr>';
    		echo '<td><strong>Année</strong></td>';
    		echo '<td><strong>Course</strong></td>';
    		echo '<td><strong>Temps</strong></td>';
    		echo '<td><strong>Moyenne</strong></td>';
    		echo '<td><strong>Classement</strong></td>';
    		echo '</tr>'; 
    		}
    		else
    		{
    		 $alert = "Il n'y a pas de résultats pour ce coureur.";
    		}
    		
    		while  ($row=mysql_fetch_row($resultat))
    		{ 
    			echo '<tr>';
    			echo '<td>';
    			echo $row[0];
    			echo '</td>';
    			echo '<td>';
    			echo $row[1];
    			echo '</td>';
    			echo '<td>';
    			echo $row[2];
    			echo '</td>';
    			echo '<td>';
    			echo $row[3];
    			echo '</td>';
    			echo '<td>';
    			echo $row[4];
    			echo '</td>';
    			echo '</tr>';
    		} 
    			echo '</table>';
    	}
    }
    if (empty($nom) || empty($prenom))
    {
      $alert2 = 'Tous les champs doivent être renseignés';
    }
    {
    	echo '<p style="color:red">'.$alert.'</p>';
    }
    ?>
    Avant ce code fonctionnait parfaitement en tout cas.
    Et puis si vous avez des idées pour optimiser ce code .

    Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as requete est fausse, donc $resultat renvoie false
    faut faire des condition, la tu pars du principe que tout fonctionne, de plus tu ne protège pas tes valeurs

    active le trace mode, :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ini_set('mysql.trace_mode', true);

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2009
    Messages : 43
    Par défaut
    j'ai ajouté la ligne en début de code mais j'ai toujours mes erreurs.
    Et cette erreur en plus:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query() [http://www.mysql.com/doc]: No database selected
    merci de m'aider en tout cas

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    t'as sélectionné la bonne base de données ?

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2009
    Messages : 43
    Par défaut
    et bien.. non quel con
    donc ca marche impec finalement

    par contre il me reste un souci avec mon test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     if (empty($nom) || empty($prenom))
    {
      $alert2 = 'Tous les champs doivent être renseignés';
    }
    ca me renvoit mon autre test
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {
      $alert = "Il n'y a pas de résultats pour ce coureur.";
    		}
    encore merci

  6. #6
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    ton if n'as pas l'air a la bonne place

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2009
    Messages : 43
    Par défaut
    ok, je regarderais ca demain alors.

    encore merci à toi, rapide et efficace !
    bonne soirée

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
    Par zabdaniel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/02/2008, 13h34
  2. Réponses: 3
    Dernier message: 11/08/2007, 22h55
  3. [MySQL] Erreur mysql_num_rows: supplied argument is not a valid MySQL result resource
    Par dfournier dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 06/12/2006, 16h40
  4. Réponses: 10
    Dernier message: 05/05/2006, 16h35
  5. supplied argument is not a valid MySQL result resource ?!
    Par alfigor dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 19/04/2006, 14h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo