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

Langage PHP Discussion :

Parse error dans l'affichage


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Points : 53
    Points
    53
    Par défaut Parse error dans l'affichage
    Bonjour,

    Quand j'insère ce code dans mon contrôleur alors il me genere cette erreur:

    Parse error: parse error in C:\wamp\www\Opticien\application\default\controllers\StatisController.php on line 57
    et voila le code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     $emp=new Vente();
     
     
     
    $id_emp=$this->_request->getParam('id');
     
                            $result = $employe->fetchRow('SELECT sum(prix_total) as somme FROM vente WHERE 'id_emp ='.$id_emp);
    			$this->view->emp= $result;
                            Zend_Debug::dump($result);
    Alors est-ce-que ce code est incorrect?si oui quelqu'un peut le corriger?

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    772
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juin 2004
    Messages : 772
    Points : 872
    Points
    872
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = $employe->fetchRow('SELECT sum(prix_total) as somme FROM vente WHERE id_emp ='.$id_emp);
    			$this->view->emp= $result;
                            Zend_Debug::dump($result);
    • Mon blog PHP : http://blog.alterphp.com
    • "Peace cannot be kept by force, it can only be achieved by Understanding" -- Albert Einstein

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 118
    Points
    118
    Par défaut
    Bonjour,

    Le code est incorrect. L'utilisation des quotes simples est abusive dans ce cas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $result = $employe->fetchRow('SELECT sum(prix_total) as somme FROM vente WHERE id_emp = "' . $id_emp . '");

  4. #4
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Points : 53
    Points
    53
    Par défaut
    Et ici ou est l'erreur dans ce code?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     $table=new Vente();
                            $id_cli=$this->_request->getParam('id');
     
    $result = $table->fetchRow('SELECT vente.*,mesure.*,client.* FROM vente,mesure,client WHERE id_cli =.$id_cli and 
     
    vente.categorie_v='monture'  and mesure.id_cli=client.id_cli and client.id_cli=vente.id_cli');
    			$this->view->emp= $result;
                            Zend_Debug::dump($result);
    Et merci d'avance

  5. #5
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    $result = $table->fetchRow('SELECT vente.*,mesure.*,client.* FROM vente,mesure,client WHERE id_cli = $id_cli and
    vente.categorie_v='monture' and mesure.id_cli=client.id_cli and client.id_cli=vente.id_cli');
    A la recherche d'un film : http://chercher-un-film.com

  6. #6
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    King_soft t'a laissé un point après la variable $id_cli
    A la recherche d'un film : http://chercher-un-film.com

  7. #7
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $result = $table->fetchRow("SELECT vente.*,mesure.*,client.* FROM vente,mesure,client WHERE id_cli =.$id_cli and 
     
    vente.categorie_v='monture'  and mesure.id_cli=client.id_cli and client.id_cli=vente.id_cli");
    A la recherche d'un film : http://chercher-un-film.com

  8. #8
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Points : 53
    Points
    53
    Par défaut
    Mais aussi ce code s'execute mais il m'affiche rien:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      $result = $employe->fetchAll("SELECT sum(produit.quantite) as nombre FROM vente,produit WHERE 
     
    produit.categorie_p='monture' and vente.id_produit=produit.id_produit and id_emp =.$id_emp");
    le script est correct mais le problème st peut être dans les "
    avez-vous une idée?

  9. #9
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Points : 53
    Points
    53
    Par défaut
    m4riachi,

    J'ai appliqué le code que tu m'a donné mais voila ce qui me donne comme erreur:
    Parse error: parse error in C:\wamp\www\Opticien\application\default\controllers\ImprimeController.php on line 69
    ou est le problème?

  10. #10
    Membre éprouvé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Points : 1 101
    Points
    1 101
    Par défaut
    Affiche ton code de la ligne 69
    A la recherche d'un film : http://chercher-un-film.com

  11. #11
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Points : 53
    Points
    53
    Par défaut
    pour l'autre qui contient de la ligne 69 je l'ai déja résolu en faisant ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $result = $employe->fetchAll('SELECT sum(categorie_v) as nombre FROM vente WHERE categorie_v="monture" and  id_emp 
     
    ='.$id_emp);
    mais il me reste ce code dont il me provoque des erreurs et tu m'a donné ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     $result = $table->fetchRow("SELECT vente.*,mesure.*,client.* FROM vente,mesure,client WHERE id_cli =.$id_cli and 
     
    vente.categorie_v='monture'  and mesure.id_cli=client.id_cli and client.id_cli=vente.id_cli");
    mais voila ce qui me donne dans l'execution:
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[23000]: Integrity constraint violation: 1052 Column 'id_cli' in where clause is ambiguous' in C:\wamp\www\Opticien\library\Zend\Db\Statement\Pdo.php:228 Stack trace: #0 C:\wamp\www\Opticien\library\Zend\Db\Statement\Pdo.php(228): PDOStatement->execute(Array) #1 C:\wamp\www\Opticien\library\Zend\Db\Statement.php(300): Zend_Db_Statement_Pdo->_execute(Array) #2 C:\wamp\www\Opticien\library\Zend\Db\Adapter\Abstract.php(468): Zend_Db_Statement->execute(Array) #3 C:\wamp\www\Opticien\library\Zend\Db\Adapter\Pdo\Abstract.php(238): Zend_Db_Adapter_Abstract->query(Object(Zend_Db_Table_Select), Array) #4 C:\wamp\www\Opticien\library\Zend\Db\Table\Abstract.php(1505): Zend_Db_Adapter_Pdo_Abstract->query(Object(Zend_Db_Table_Select)) #5 C:\wamp\www\Opticien\library\Zend\Db\Table\Abstract.php(1367): Zend_Db_Table_Abstract->_fetch(Object(Zend_Db_Table_Select)) #6 C:\wamp\www\Opticien\application\default\controllers\ImprimeController.php(71): Zend_Db_Table_Abstract->fe in C:\wamp\www\Opticien\library\Zend\Db\Statement\Pdo.php on line 234
    ou est donc le problème?

  12. #12
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 118
    Points
    118
    Par défaut
    C'est un souci de SQL et non de PHP en l’occurrence, ni de Zend au passage.
    De plus l'erreur est écrite telle qu'elle dans la trace.

    Column 'id_cli' in where clause is ambiguous'
    Même pour un débutant en anglais, cette erreur me semble compréhensible.
    La colonne id_cli dans la clause "where" est ambiguë. C'est à dire que cette colonne peut exister dans plusieurs tables de ta requête et qu'il te faut donc préciser sur quelle table elle se situe.

    Ex :
    vente.id_cli
    client.id_cli

  13. #13
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 233
    Points : 53
    Points
    53
    Par défaut
    Ok mais donc ou je vais préciser ça?dans id_cli =.$id_cli?

  14. #14
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 107
    Points : 118
    Points
    118
    Par défaut
    Citation Envoyé par king_soft Voir le message
    Ok mais donc ou je vais préciser ça?dans id_cli =.$id_cli?
    Oui, tout à fait.

    $result = $employe->fetchAll(
    'SELECT
    vente.*,mesure.*,client.*
    FROM vente,mesure,client
    WHERE
    id_cli =.$id_cli and
    vente.categorie_v='monture' and
    mesure.id_cli=client.id_cli and
    client.id_cli=vente.id_cli"

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

Discussions similaires

  1. [CakePHP] Parse error dans la génération du cache
    Par particule dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 08/10/2012, 12h31
  2. Parse error dans mon code
    Par feugana1 dans le forum Langage
    Réponses: 3
    Dernier message: 09/08/2010, 12h12
  3. Réponses: 4
    Dernier message: 13/11/2009, 09h49
  4. Parse Error dans error_log
    Par big_ben3333 dans le forum Serveurs (Apache, IIS,...)
    Réponses: 3
    Dernier message: 17/12/2007, 15h27
  5. [Mail] Parse error dans mon script de mailer
    Par Le Parrain dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2006, 15h08

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