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 :

error malgré une requete SQL juste


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut error malgré une requete SQL juste
    Bonjour,
    voici 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
    $dest = Post::val('list_dest');
    $result1 = $db->Query('SELECT Adrmail
    						FROM
        						(
    							SELECT Nomcontsit AS Nom, Prenomcontsit AS Prenom, Adrmailcontsit AS Adrmail
        						 FROM {contacts_ext}
        				 UNION ALL
        						 SELECT Nomcont AS Nom, Prenomcont AS Prenom, Adrmailcont AS Adrmail
        						 FROM {contacts_int}
    							 )
    						WHERE $dest LIKE CONCAT('%', Nom, ' ', Prenom,'%')',
    						array($comments['list_dest']));
    						$list_dest = $db->FetchOne($result1);
    il m'est retourné une parse error a la ligne de mon WHERE $dest LIKE CONCAT ...

    explication rapide du code :

    $dest est une liste de nom-prénom
    la requete permet d'avoir les adresse mail de ces nom-prénom (fonctionne avec phpmyadmin

    et j'aimerais retourner une liste de ces adresses mails.

    Merci de votre aide

    ++

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 19
    Par défaut
    salut,

    Remplace $dest par '.$dest.'

    Il est possible de mettre une variable dans une chaine sans concaténation uniquement lorsque tu utilise " ex: "ta chaine $variable "

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    voici le code parès des recherche :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $dest = Post::val('list_dest');
    $result1 = $db->Query('SELECT Adrmail
    						FROM
        						(
    							SELECT Nomcontsit AS Nom, Prenomcontsit AS Prenom, Adrmailcontsit AS Adrmail
        						 FROM {contacts_ext}
        				 UNION ALL
        						 SELECT Nomcont AS Nom, Prenomcont AS Prenom, Adrmailcont AS Adrmail
        						 FROM {contacts_int}
    							 )
    						WHERE '.$dest.' LIKE CONCAT('%', Nom, ' ', Prenom,'%')');
    mais j'ai toujour la meme erreur ...
    please help ...

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Tu as un problème avec des quotes, ca se voit dans la mise en forme du code, les % ne sont pas de la même couleur !
    il faut les échapper comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $dest = Post::val('list_dest');
    $result1 = $db->Query('SELECT Adrmail
    						FROM
        						(
    							SELECT Nomcontsit AS Nom, Prenomcontsit AS Prenom, Adrmailcontsit AS Adrmail
        						 FROM {contacts_ext}
        				 UNION ALL
        						 SELECT Nomcont AS Nom, Prenomcont AS Prenom, Adrmailcont AS Adrmail
        						 FROM {contacts_int}
    							 )
    						WHERE '.$dest.' LIKE CONCAT(\'%\', Nom, \' \', Prenom,\'%\')');
    L'autre solution est d'utiliser des doubles quotes autour de la requete :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    $dest = Post::val('list_dest');
    $result1 = $db->Query("SELECT Adrmail
    						FROM
        						(
    							SELECT Nomcontsit AS Nom, Prenomcontsit AS Prenom, Adrmailcontsit AS Adrmail
        						 FROM {contacts_ext}
        				 UNION ALL
        						 SELECT Nomcont AS Nom, Prenomcont AS Prenom, Adrmailcont AS Adrmail
        						 FROM {contacts_int}
    							 )
    						WHERE ".$dest." LIKE CONCAT('%', Nom, ' ', Prenom,'%')");

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 19
    Par défaut
    Que contient ta variable $dest? normalement ca doit être le nom d'une colonne d'une table ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2008
    Messages
    143
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 143
    Par défaut
    la requete me retourne bien mes adresse mail sous phpmyadmin.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $dest = Post::val('list_dest');
    me retourne une liste de contacts selectionner dans ma page web.

    Avec les doubles quotes je n'ai plus d'eereur de compil mais d'execution

    Query {SELECT Adrmail FROM ( SELECT Nomcontsit AS Nom, Prenomcontsit AS Prenom, Adrmailcontsit AS Adrmail FROM `flyspray_contacts_ext` UNION ALL SELECT Nomcont AS Nom, Prenomcont AS Prenom, Adrmailcont AS Adrmail FROM `flyspray_contacts_int` ) WHERE BROCHARD William LIKE CONCAT('%', Nom, ' ', Prenom,'%')} with params {} Failed! (Every derived table must have its own alias)

Discussions similaires

  1. [SQL-Server] Internal Server Error lors d'une requete SQL
    Par eowene dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/04/2007, 14h18
  2. Réponses: 2
    Dernier message: 03/05/2004, 12h13
  3. date d'une requete sql
    Par innosang dans le forum Bases de données
    Réponses: 4
    Dernier message: 28/04/2004, 09h27
  4. Mettre a jour les Parametres dans une requete SQL
    Par Tartar Ukid dans le forum C++Builder
    Réponses: 7
    Dernier message: 31/03/2004, 13h51
  5. Une requete SQL unpeux difficile !!
    Par nil dans le forum Bases de données
    Réponses: 5
    Dernier message: 09/03/2004, 12h32

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