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 :

PDO et Excel


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut PDO et Excel
    Bonjour à tous,

    Dans le programme de mon stage je dois extraire des données à partir
    de menu déroulant incrémenter par une base de données...
    Ces données doivent-être par la suite affichées dans un Excel:

    le code pour vérifier si les menus déroulants existent:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (isset($_POST['status'],
              $_POST['cat'],
              $_POST['sous'],
              $_POST['fct'],
              $_POST['pays'],
              $_POST['boat'],
              $_POST['certif']))
    La requête SQL:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    $requ =$pdo->prepare("SELECT distinct nom_uti,prenom_uti
                                from utilisateur as u,pays as p,boat as b,function as f,mouvement as mo,
                                contract as co
                                       where mo.status=>:status 
                                          or cat_contrat=>:cat
                                          or souscription_mouvement=>:sous
                                          or titre_en=>:fct 
                                          or title_fr=>:pays 
                                          or titre_bateau=>:boat 
                                          or titre_contrat=>:certif    
                                       and u.id_uti=mo.id_uti
                                       and mo.id_contrat=co.id_contrat");
    Et l'execution:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $requ->execute(array(':status'=>$_POST['status'],
                         ':cat'=>$_POST['cat'],
                         ':sous'=>$_POST['sous'],
                         ':fct'=>$_POST['fct'],
                         ':pays'=>$_POST['pays'],
                         ':boat'=>$_POST['boat'],
                         ':certif'=>$_POST['certif']));
     
    $data= $requ->fetchAll();
    j'ai créer un bouton permettant de sortir un excel avec les données et l'erreur est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ( ! ) Warning: PDOStatement::execute() [< a href='pdostatement.execute'> pdostatement.execute< /a> ]: SQLSTATE[42000]: Syntax error or access violation: 1064 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 '=& gt '1' and cat_contrat =& gt 'MARMAR' ' at line 4 in C:\wamp\www\test_recherche\recup.php on line 143

    Le Mot MARMAR correspond au menu déroulant Boat mais la ligne 143
    indique :


    Celà fais 2 jours que je suis bloqué

    Dans l'attente de vos réponse

    Merci beaucoup

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce n'est pas cette requête qui donne l'erreur : il n'y a pas "and cat_contrat" dedans.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut
    C'est-à-dire: il n'y a pas "and cat_contrat" dedans ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    L'erreur cite une partie de la requête "and cat_contrat".
    Ce "and cat_contrat" n'existe pas dans la requête que tu nous montres, donc la requête que tu nous montres n'est pas celle qui provoque l'erreur.

    La ligne 143 de recup.php est celle qui contient le execute().
    Comme d'après ce que tu nous dis, ce n'est pas le cas, j'en déduis que le fichier recup.php que tu as sur le serveur n'est pas celui sur lequel tu travailles.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2013
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 116
    Par défaut
    Je sais mais le problème Vincent
    est que dans la requête déjà j'ai même pas de AND mais du OR

    et après j'ai fait 2-3 test :

    si la variables est vide : (j'étais sûr que non mais bon autant tester )
    résultat: variable non vide


    si je supprime la variable $_POST['cat'], la même erreur est attribuée à la variable du dessous

    PS: tout le code que j'ai mis est dans le fichier "recup.php"
    et je travaille en local

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Une chose est sure : PHP ne se trompe pas sur le numéro des lignes et ne met pas des AND à la place des OR.


    Peux-tu nous donner le fichier recup.php en entier ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

Discussions similaires

  1. [VB6] [Excel] Résultat d'une requete ds une feuille
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 07/01/2003, 17h52
  2. [VBA-E] [Excel] Filtrer le donnees d'une sheet
    Par donia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/09/2002, 10h55
  3. [Kylix] kylix et excel
    Par gothe dans le forum EDI
    Réponses: 1
    Dernier message: 19/09/2002, 19h44
  4. Réponses: 2
    Dernier message: 22/07/2002, 12h13
  5. [Kylix] Excel via kylix
    Par Billy joel dans le forum EDI
    Réponses: 1
    Dernier message: 23/05/2002, 11h57

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