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

Requêtes MySQL Discussion :

concatenation dans requette mysql


Sujet :

Requêtes MySQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut concatenation dans requette mysql
    salut à tous,

    voilà je fais un truc con mais, j'y arrive pas ....

    j'ai 3 tests et selon si chacun est validé ma requette sql change de forme
    if(!empty($Nom))
    {
    $requete="SELECT * FROM agents WHERE Nom LIKE '$Nom%'";
    }

    if(!empty($CodeAlliance))
    {
    $requete="SELECT * FROM agents WHERE CodeAlliance LIKE '$CodeAlliance%'";
    }

    if(!empty($IdEntite))
    {
    $requete="SELECT * FROM agents WHERE IdEntite='$IdEntite'";
    }


    Ensuite j'ai 2 endroits ou je me sert de la requette voulue :

    $query=$requete;
    $result = mysql_query($query) or die('Erreur SQL !<br />'.$query.'<br />'.mysql_error());


    et

    $res = mysql_query('$requete', $link) or die("Erreur MySQL: ".mysql_error($link));


    mais le probleme est que
    1: j'ai un message d'erreur me demandant de revoir ma requette mais elle fonctionne tout de même

    2: les LIKE ....% ne fonctionne pas ! cela m'affiche tout ou presque

    3: pour mon WHERE IdEntite=.... Idem cela ne m'affiche plusieurs reponse.

    Je en sais pas si cela vient de probleme de ' ou de " ... si qqun à une idée.


    Merci d'avance

  2. #2
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Met une balise code autour de ton code s'il te plait et après on regardera.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    <?php
    require_once("../Connection/Connection.php");

    $Nom=isset($_POST["Nom"])?$_POST["Nom"]:"";
    $Nom=strtoupper($Nom);

    $CodeAlliance=isset($_POST["CodeAlliance"])?$_POST["CodeAlliance"]:"";
    $CodeAlliance=strtoupper($CodeAlliance);

    $IdEntite=isset($_POST["IdEntite"])?$_POST["IdEntite"]:"";

    if(!empty($Nom))
    {
    $requete="SELECT * FROM agents WHERE Nom LIKE '$Nom%'";
    }

    if(!empty($CodeAlliance))
    {
    $requete="SELECT * FROM agents WHERE CodeAlliance LIKE '$CodeAlliance%'";
    }

    if(!empty($IdEntite))
    {
    $requete="SELECT * FROM agents WHERE IdEntite='$IdEntite'";
    }


    $query=$requete;
    $result = mysql_query($query) or die('Erreur SQL !<br />'.$query.'<br />'.mysql_error());
    $data=mysql_fetch_array($result);


    $res = mysql_query('$requete', $link) or die("Erreur MySQL: ".mysql_error($link));
    $nb_enreg = mysql_num_rows($res);


    ?>

  4. #4
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Bon, édite ton dernier post, sélectionne ton code avec ta souris, au dessus du textarea dans lequel on tape les messages, il y a des boutons (B, i, u Quote, etc...), appuie sur le bouton "Code" et renvoie ton message stp.

  5. #5
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    encore une fois, lorsque tu poste ton code regarde au dessus tu as des balise"[code]". Applique les s'il te plait.
    Comment faire: tu cliques sur la balise, insere ton code et recliques la balise et Hop c'est fait
    Arrrgh encore grille. C'est la deuxieme fois aujourd'hui
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    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
     
    require_once&#40;"../Connection/Connection.php"&#41;; 
     
    $Nom=isset&#40;$_POST&#91;"Nom"&#93;&#41;?$_POST&#91;"Nom"&#93;&#58;""; 
    $Nom=strtoupper&#40;$Nom&#41;; 
     
    $CodeAlliance=isset&#40;$_POST&#91;"CodeAlliance"&#93;&#41;?$_POST&#91;"CodeAlliance"&#93;&#58;""; 
    $CodeAlliance=strtoupper&#40;$CodeAlliance&#41;; 
     
    $IdEntite=isset&#40;$_POST&#91;"IdEntite"&#93;&#41;?$_POST&#91;"IdEntite"&#93;&#58;""; 
     
    if&#40;!empty&#40;$Nom&#41;&#41; 
    &#123; 
    $requete="SELECT * FROM agents WHERE Nom LIKE '$Nom%'"; 
    &#125; 
     
    if&#40;!empty&#40;$CodeAlliance&#41;&#41; 
    &#123; 
    $requete="SELECT * FROM agents WHERE CodeAlliance LIKE '$CodeAlliance%'"; 
    &#125; 
     
    if&#40;!empty&#40;$IdEntite&#41;&#41; 
    &#123; 
    $requete="SELECT * FROM agents WHERE IdEntite='$IdEntite'"; 
    &#125; 
     
     
    $query=$requete; 
    $result = mysql_query&#40;$query&#41; or die&#40;'Erreur SQL !<br />'.$query.'<br />'.mysql_error&#40;&#41;&#41;; 
    $data=mysql_fetch_array&#40;$result&#41;; 
     
     
    $res = mysql_query&#40;'$requete', $link&#41; or die&#40;"Erreur MySQL&#58; ".mysql_error&#40;$link&#41;&#41;; 
    $nb_enreg = mysql_num_rows&#40;$res&#41;;

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    Je savais pas , désolé, je le ferais à l'avenir.

  8. #8
    Membre éprouvé Avatar de Bebel
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2003
    Messages : 786
    Points : 1 262
    Points
    1 262
    Par défaut
    Salut c'est quoi ton message d'erreur et que trouve t on dans $query juste avant l'execution. Ca sera plus simple pour aider.
    Tout énigme a une solution ! Tout est question de discipline !

  9. #9
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Y a pas de mal

    1: j'ai un message d'erreur me demandant de revoir ma requette mais elle fonctionne tout de même
    Tu peux nous le poster ce message? (utilise le bouton Quote)

    2: les LIKE ....% ne fonctionne pas ! cela m'affiche tout ou presque
    Euh... moi je pense plutôt à un problème avec ce à quoi tu compares... vérifies ce que tu as derrière ton like

    3: pour mon WHERE IdEntite=.... Idem cela ne m'affiche plusieurs reponse.
    Idem

    une astuce, fais un echo de la requete qui est envoyée à la base, comme ça tu peux vérifier la syntaxe, la tester directement dans ta base et nous la poster au besoin...

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    il me fou çà :

    Erreur MySQL: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '$requete' at line 1

  11. #11
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    J'ai tésté la requête il me revoie cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT * FROM agents WHERE Nom LIKE 'BE%'
    je fais ma comparaison avec le champ Nom de ma table agents.

  12. #12
    Membre émérite
    Avatar de yiannis
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 494
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 494
    Points : 2 791
    Points
    2 791
    Par défaut
    d'ou viens ce $link et a quoi correspont-il?
    "Ce besoin de remords qui précède le Mal, que dis-je ! qui le crée..." E. CIORAN

  13. #13
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut
    as tu essayé de fairte un echo de ta requête avant de l'exécuter?
    L'erreur que tu obtiens est une erreur de syntaxe
    Nulla dies sin linea

  14. #14
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $res = mysql_query&#40;'$requete', $link&#41; or die&#40;"Erreur MySQL&#58; ".mysql_error&#40;$link&#41;&#41;;
    Les quotes autour de $requete sont en trop !

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    illegalsene j'ai testé ton code, l'erreur est partie maintenant j'ai cela :


    Erreur MySQL: Query was empty

    mais il m'affiche quand même les résultats (certains toujours en trop)[/quote][/code]

  16. #16
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    Le $link vient d'un requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $link = mysql_connect&#40;$dbhost,$dbuser,$dbpass&#41;or die&#40;"Erreur de connexion&#58; ".mysql_error&#40;$link&#41;&#41;;

  17. #17
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut
    envoie ta requête
    Nulla dies sin linea

  18. #18
    Rédactrice
    Avatar de xave
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2002
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 46
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2002
    Messages : 871
    Points : 1 094
    Points
    1 094
    Par défaut
    Quel exemple de résultats en trop pour quelle requete?

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 87
    Points : 46
    Points
    46
    Par défaut
    Bah pour une recherche commençant par BE il me renvoie les Noms commencant par :

    MO
    DDA
    JEAN

  20. #20
    Membre actif
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    314
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 314
    Points : 206
    Points
    206
    Par défaut
    peux tu envoyer l'echo de ta requête
    Nulla dies sin linea

Discussions similaires

  1. Réponses: 1
    Dernier message: 05/11/2009, 20h14
  2. [MySQL] problème de variable dans requette mysql
    Par luc648 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/04/2009, 15h15
  3. variables tableau dans requettes mysql ... et affichage
    Par mulbek dans le forum Requêtes
    Réponses: 3
    Dernier message: 26/10/2005, 17h29
  4. Variables dans texte issu de requette mysql
    Par thierry69000 dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/09/2005, 00h42
  5. Réponses: 6
    Dernier message: 05/08/2004, 14h15

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