Résultats de 1 à 5 sur 5

Sujet : probleme requete mysql_query

  1. #1
    Membre MP
    Inscrit
    août 2013
    Messages
    28

    probleme requete mysql_query

    Bonsoir
    j\'ai un script qui bug depuis quelque temps et aujourd hui en le découpant en bloque et en les isolant j\'ai découvert ou était le bug(en gros) voila mon script:
    Code:
    <?php
    //if( empty($_POST[\"interprete\"]) && empty($_POST[\"zik\"]) && empty($_POST[\"aeb\"]))
    //{
    //print(\"<center>entrez au moin une valeur</center>\");
    //}
    //elseif( empty( $_POST[\"zik\"] ) && empty( $_POST[\"aeb\"] ))
    //{
    $connexion= mysql_connect(\"localhost\",\"root\",\"\");
    if( ! $connexion)
    {
        echo \"connexion compromise\" ;
    }
    
    $db= mysql_select_db(\"shelko\",$connexion);
    if( ! $db)
    {
        echo \"bdd non trouvée\";
    }
    
    $resultat= \"SELECT * FROM bob WHERE interprete LIKE \".$_POST[\"interprete\"].\"\";
    $row= mysql_query($resultat, $connexion);
    //while(mysql_fetch_row($row))
    //{
    //$interprete=\'.$row[\"interprete\"].\';
    //$zik=\'.$row[\"zik\"].\';
    //$liens=\'.$row[\"liens\"].\';
    //$aeb=\'.$row[\"aeb\"].\';
    //}
    print $row;
    //}
    ?>
    en version isolé
    donc voila mon prolbleme quand je fais un print $row(tout à la fin) je n\'ai rien du tout qui s\'affiche au lieu du nombre de lignes trouvée (à mon sens)sachant que lorsque je mets $resultat à la place de $row pour le print ca me met ma requete avec l\'interprete choisi dans mon formulaire et que mes connexions sont bonne donc l\'erreur doit etre au niveau du mysql_query mais je ne vois pas ou donc si ca dit quelque chose à quelqu\'un ca m\'aiderait. :cry:

  2. #2
    Membre MP
    Inscrit
    août 2013
    Messages
    2 185
    je n\'utilise pas mysql_fetch_row mais mysql_fetch_array, mais le plsu simple pour débuguer c\'est de rajouter or die(mysql_error()); après ton mysql_query pour qu\'il te dise où est l\'erreur :wink:
    Spirit - modérateur casu ^-^\'

  3. #3
    Salut,

    Si tuveux récupérer le nb de ligne trouvées par ta requête utilise mysql_num_rows() soit:

    Code:
    //ta requête
    $sql= \"SELECT * FROM bob WHERE interprete LIKE \".$_POST[\"interprete\"].\"\";
    
    /*l\'envoi de ta requête à MySQL (avec test d\'erreur)*/
    $resultat= mysql_query($sql, $connexion) or die(\"Impossible de sélectionner\".mysql_error();
    
    /*Récupération du nb de ligne renvoyées par la requête*/
    $row = mysql_num_rows($resultat)
    
    //récupération des lignes résultantes
    while(mysql_fetch_row($resultat))
    {
        $interprete=\'.$row[\"interprete\"].\';
        $zik=\'.$row[\"zik\"].\';
        $liens=\'.$row[\"liens\"].\';
        $aeb=\'.$row[\"aeb\"].\';
    }
    
    //nb de lignes résultantes
    print $row;
    
    //suite de ton code
    Voilà qui devrais fonctionner, prend garde aux commentaires (il en faut !!!) et au choix du nom de tes conteneurs.

  4. #4
    Root Admin Avatar de Coolboy
    Inscrit
    janvier 2013
    Localisation
    Lyon, France
    Messages
    1 533
    Premierement j\'utilise toujours des array ca fonctionne tres bien et deuxiement je te conseille de mettre des () dans le code apres ton WHERE dans ta requete sur la table ca évite quelques conflits
    Code:
    $sql= \"SELECT * FROM bob WHERE (interprete LIKE \".$_POST[\"interprete\"].\")\";
    ++
    Administrateur MP

  5. #5
    Membre MP
    Inscrit
    août 2013
    Messages
    10
    Ou alors tu fais juste un \"select COUNT(*) from...\" au lieu de ton \"select * from...\" comme ca t\'as juste a récupérer le resultat :wink:

    Le SQL possède quand meme quelques fonctions bien utiles

    En espérant t\'aider
    Je crois qu\'on a toujours tord d\'essayer d\'avoir raison devant des gens qui ont toutes les bonnes raisons de croire qu\'ils n\'ont pas tord !
    © Raymond Devos

Informations du sujet

Utilisateur(s) parcourant ce sujet

il y a actuellement 1 utilisateur(s) parcourant ce sujet. (0 membre(s) et 1 visiteur(s))

Règles des messages

  • Vous ne pouvez pas créer de sujets
  • Vous ne pouvez pas répondre aux sujets
  • Vous ne pouvez pas importer de fichiers joints
  • Vous ne pouvez pas éditer vos messages
  •  
  • Les BB codes sont Activés
  • Les Smileys sont Activés
  • Le BB code [IMG] est Activé
  • Le code [VIDEO] est Activé
  • Le code HTML est Désactivé
Please disable Adblock!