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

SQL Procédural MySQL Discussion :

<¿ fonction mysql incompatible ¿>


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut <¿ fonction mysql incompatible ¿>
    Bonjour,
    j'essaie de faire une requette de recherche à partir d'une liste déroulante :
    Il ne fonctionne pas et je ne comprend pas pourquoi, sa me semble bien écrit ?
    A l'envoi j'ai ce genre d'erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\projet\essai_resultat.php on line 44
    Le lien
    http://creatif-web.be/projet/essai_deroulant.php
    Le formulaire
    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
    <?php
    print <<<EAO
    <p>Moteur de recherche :</p>
    <form action="essai_resultat.php" method="post">
    Choisissez le type de recherche.<br />
      <select name="searchtype">
        <option value="leprojet">Projet</option>
        <option value="pseudo">Pseudo</option>
        <option value="facultatif">Information personnel</option>
      </select><br />
      Rentrée un terme :<br />
      <input type='text' name='searchterm'><br />
      <input type='submit' value='Search'>
    </form>
    EAO;
    ?>
    La page de réception.
    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
    <?php
    $searchtype=$_POST['searchtype'];
    $searchterm=$_POST['searchterm'];
     
    $searchterm=trim($searchterm);
     
    if (!$searchterm || !$searchtype) {
        print "Vous n'avez pas détailler votre recherche. Veuillez s'il vous plais réessayer encore une fois";
        exit();
    }
    if (!get_magic_quotes_gpc()) {
        $searchtype=addslashes($searchtype);
        $searchterm=addslashes($searchterm);
    }
    ###################################CONNEXION##############
    require ("inc/connexion.inc.php");
    $lien=mysql_connect(SERVEUR, NOM, PASSE);
     
    // test de connexion au serveur
    if (!$lien) {
        echo "Désolé, connexion à " .SERVEUR ." impossible\n"; }
        //echo "merci<br />";
    // test de connexion à la base
    if (!mysql_select_db(BASE, $lien)) {
        echo "Acces to base denied " .BASE ." impossible\n";
        }    else { //echo "selection de la base ok<br />";
        }
     
    if (!mysql_select_db(BASE, $lien)) {
        $erreurbdd=mysql_error();
        return false;
    }    
    ################################### FIN DE CONNEXION #########
    $requete="SELECT * FROM eprojet where ".$searchtype." like'%".searchterm."%' ";
    $resultat=mysql_query($lien, $requette);
    $num_resultat=mysql_num_rows($resultat);
    // la fonction mysqli_num_rows() stock le nombre de ligne
    for ($i=0; $i<$num_resultat; $i++) {
        // traitement
        $row=mysql_fetch_assoc($resultat);
        echo ($i+1)."/";
        print "<br />Projet : ";
        print stripslashes($row['leprojet'])."<br />";
        print "facultatif (champs facultatif)): ";
        print stripslashes($row['facultatif'])."<br />";
        print "pseudo: ";
        print stripslashes($row['pseudo'])."<br />";
    }
    mysql_free_result($resultat);
    mysql_close($lien);
    ?>
    Merci

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Voir ma signature. Ensuite on discute.
    Affiche ta requête, aussi.

  3. #3
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Tu as un problème dans les noms des variables, une fois tu mets un seul T à requete (orthographe correcte) et des fois deux (pas bien).

    +1 avec Eusebius, une habitude à prendre pour gagner moult temps.

  4. #4
    Membre chevronné
    Inscrit en
    Février 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Février 2005
    Messages : 419
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat=mysql_query($lien, $requette);
    C'est pas plutot
    $resultat=mysql_query($requette, $lien);

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par Sylvain71
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat=mysql_query($lien, $requette);
    C'est pas plutot
    $resultat=mysql_query($requette, $lien);
    +1 aussi

  6. #6
    Membre éclairé
    Inscrit en
    Août 2004
    Messages
    499
    Détails du profil
    Informations forums :
    Inscription : Août 2004
    Messages : 499
    Par défaut
    requete je l'écrit avec deux "t" comme en bon français, c'est un piège.
    Merci à tous, en 2 minute et grace à vos remarque, j'ai débloqué la situation, quand boit t'on un coup.
    ;-)

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

Discussions similaires

  1. fonction mysql() non documentée
    Par nako dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 10/05/2006, 16h18
  2. équivalent fonction mysql C en php
    Par splouf dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 22/01/2006, 19h41
  3. équivalent fonction mysql C en php
    Par splouf dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 13/01/2006, 14h23
  4. [fonction MySQL] test d'une expression
    Par spilliaert dans le forum Débuter
    Réponses: 5
    Dernier message: 05/01/2006, 12h36
  5. Pb avec fonctions MYSQL
    Par tonton54 dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 07/10/2005, 22h54

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