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 :

Requete qui fonction sous PhpMyAdmin mais pas avec PHP


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut Requete qui fonction sous PhpMyAdmin mais pas avec PHP
    Bonjour,

    Suite à un plantage du serveur pendant un emailing, j'ai modifié ma requete pour reprendre l'emailing à partir du membre où il s'était arrêté pour ne pas renvoyer un mail à ceux qui l'avaient reçu.
    La modif apparait en gras :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requete = "select nom,prenom,email,id_membre from $usr_tbl where ((verif_email=2 and validation=1 and OK_emailing=1) and ($add) and (id_membre>7751)) order by id_membre";
    Depuis, cela ne fonctionne plus...
    j'ai l'erreur suivante :

    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 ';=7751)) order by id_membre' at line 1
    évidemment, le mailing est urgent. j'y ai passé des heures sans comprendre d'où vient l'erreur.
    Merci d'avance..

  2. #2
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    Bonjour,

    te renvoie quoi ?
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  3. #3
    Expert éminent
    Avatar de Benjamin Delespierre
    Profil pro
    Développeur Web
    Inscrit en
    Février 2010
    Messages
    3 929
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2010
    Messages : 3 929
    Points : 7 762
    Points
    7 762
    Par défaut
    C'est marrant l'erreur correspond pas à la requête SQL, pourquoi le > s'est miraculeusement transformé en ;= ??

  4. #4
    Membre chevronné

    Homme Profil pro
    Ingénieur Hospitalier
    Inscrit en
    Juillet 2004
    Messages
    993
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Hospitalier
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 993
    Points : 1 768
    Points
    1 768
    Billets dans le blog
    1
    Par défaut
    Comme le précise benjamin d'où vient ce ";=" sachant qu'un point virgule ";" dans une requête SQL représente la fin d'écriture d'une requête, donc le reste '=...' ne sera pas interprété dans mysql.

    Vérifie que la requête en question est bien celle qui génère l'erreur dans un premier temps.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par Benjamin Delespierre Voir le message
    C'est marrant l'erreur correspond pas à la requête SQL, pourquoi le > s'est miraculeusement transformé en ;= ??
    oops !
    en effet, entre temps j'ai testé de remplacer le ">" par un "=".
    mais le résultat était le même.

    echo $requete donne :

    select nom,prenom,email,id_membre from membres where ((verif_email=2 and validation=1 and OK_emailing=1) and (type=1 or type=2 or type=3) and (id_membre>7751) ) order by id_membre

  6. #6
    Membre éclairé
    Inscrit en
    Juillet 2003
    Messages
    625
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 625
    Points : 673
    Points
    673
    Par défaut
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    SELECT nom, 
           prenom, 
           email, 
           id_membre 
    FROM   membres 
    WHERE  ( ( verif_email = 2 
               AND validation = 1 
               AND ok_emailing = 1 ) 
             AND ( TYPE = 1 
                    OR TYPE = 2 
                    OR TYPE = 3 ) 
             AND ( id_membre > 7751 ) ) 
    ORDER  BY id_membre
    te renvoie une erreur dans phpmyadmin ?

    Il ne semble pas y avoir d'erreur syntaxique... es tu sûr que les noms des champs correspondent bien ?
    Le savoir est utile que s'il est partagé par tous.
    /(bb|[^b]{2})/
    !sleep() ? array((string))

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Octobre 2006
    Messages
    35
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Webmaster amateur

    Informations forums :
    Inscription : Octobre 2006
    Messages : 35
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par syl2095 Voir le message

    te renvoie une erreur dans phpmyadmin ?

    Il ne semble pas y avoir d'erreur syntaxique... es tu sûr que les noms des champs correspondent bien ?
    c'est le problème : aucune erreur sous PhpMyAdmin : la requete fonctionne très bien.

  8. #8
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 146
    Points : 262
    Points
    262
    Par défaut
    Et donc quel est le message d'erreur final quand y a pas le ;= en trop ?

    Car sinon on avancera pas

Discussions similaires

  1. [MySQL] Problème Proc Stockée, s'éxecute sous PhpMyAdmin mais pas avec PHP
    Par toham dans le forum PHP & Base de données
    Réponses: 0
    Dernier message: 07/02/2012, 16h55
  2. Réponses: 6
    Dernier message: 07/09/2008, 17h31
  3. [MySQL] requête qui marche avec phpmyadmin mais pas en php
    Par KoosMos dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 11/02/2008, 11h00
  4. Fonction qui marche sous FF mais pas IE
    Par Oluha dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 25/01/2006, 14h07
  5. Réponses: 2
    Dernier message: 04/06/2004, 11h11

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