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

Langage PHP Discussion :

erreur fonction mysql_num_rows()


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut erreur fonction mysql_num_rows()
    bonjour

    voila, je me fait un mini moteur de recherche par mot
    mais voila j'ai cette erreur ???

    Warning: mysql_num_rows() expects parameter 1 to be resource, object given in C:\wamp\www\admin\recherche.php on line 24

    voici mon code :
    merci

    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
     
    <?php
    //----------------------- CONNEXION A LA BDD ------------------------
    	include("test-recherche.php");
    	echo'<hr/>';
    	echo'<hr/>';
     
     
    	include("../includes/sql_connect.php");
     
    	if (isset($_POST['recherche']))
    	{
    	$recherche = $_POST['recherche'];
    	$reponse = $bdd->query("SELECT *
    						FROM clients
    						WHERE societe
    						LIKE '$recherche'
    						ORDER BY societe
    						ASC
    						") or die(print_r($bdd->errorInfo())); //requete
     
    		$nombre_resultats = mysql_num_rows($reponse); //comptage du nombre d'entrées sélectionnées par la recherche
     
    		if ($nombre_resultats == 0) //s'il n'y a pas de résultat
    		{
    			echo 'pas de résultat pour cette recherche !';
    		}
    		else 
    		{	
    			while ($donnees = $reponse->fetch())
    			{
    				echo 'Nombre de résultats : ' . $nombre_resultats . ':<br /><br />'; //nombre de résultats
     
    				echo $donnees['societe'].'<br /><hr />';
    			}
    		}
     
    	}
    	else 
    	{	
    		echo 'pas de résultat pour cette recherche !';
    	}
     
     
    ?>

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Si tu utilises PDO il ne faut pas utiliser mysql_num_rows mais rowCount()

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    ah bah oui!!!
    au fait comment je fait pour savoir quelle fonction
    utiliser ou pas avec pdo
    par exemple une liste sur php.net ou autre?

    merci beaucoup
    bonne fete

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Bonjour

    Regardes ici
    Quand tu fais $bdd->query(), fais-tu dans cette fonction un prepare() ou directement mysql_query()

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 187
    Points : 50
    Points
    50
    Par défaut
    tu me dis
    que si je fais $bdd->query(),
    je dois faire dans cette fonction un prepare()
    ou sinon je fais directement mysql_query()
    c'est ca ?

    sinon quand dois-je utiliser des fonctions pdo
    ya a t'il une page qui les récences?

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    PDO est une couche d'abstraction pour les accès aux bases de données.
    Dès que tu utilises une base de données, il faut se poser la question de l'utilisation de PDO. Généralement, c'est très pratique dans la mesure ou cela unifie la syntaxe des appels vers la base de données et pour ne rien gacher, PDO fournit des fonctions simplifiant la sécurisation des données.
    Exemples pour différents appels :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MySql    : mysql_query($sql);
    Postgres : pg_query($sql);
    Avec PDO quelque soit la base de données tu feras : 
    $stmt->query($sql);

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 389
    Points : 10 422
    Points
    10 422
    Par défaut
    Citation Envoyé par artichaudd Voir le message
    sinon quand dois-je utiliser des fonctions pdo
    Oui comme le suggère rawsrc on utilise PDO ou les extension mysql ou mysqli et l'on garde la même méthode ensuite pour faire toutes ses requêtes (bien qu'il soit possible d'utiliser plusieurs méthodes dans un même script).

    rawsrc t'a donné les principaux avantages à utiliser PDO.

    Eventuellement tu peux utiliser mysqli mais il faut éviter d'utiliser mysql qui n'est plus en phase de développement.

    Un petit récapitulatif sur les fonctionnalités et recommandations dans le tableau au bas de cette page.

Discussions similaires

  1. [MySQL] Erreur sur la fonction : mysql_num_rows
    Par erfindel dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 14/10/2008, 20h36
  2. [SGBD] message d'erreur de mysql_num_rows
    Par arti2004 dans le forum Requêtes
    Réponses: 9
    Dernier message: 15/06/2006, 17h35
  3. Réponses: 2
    Dernier message: 01/06/2006, 14h54
  4. [DOM XML] Erreur fonction load() d'un objet dom??
    Par ribrok dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/10/2005, 11h43
  5. méssage d'erreur fonction d'agrégat
    Par developpeur_mehdi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 10/03/2004, 12h42

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