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 :

foreach() erreur syntaxe incompréhensible..


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Points : 46
    Points
    46
    Par défaut foreach() erreur syntaxe incompréhensible..
    Salut à tous je développe une application pour smartphone qui fait des entrées en base de donnée depuis un formulaire html qui envoi en POST .

    J'ai écrit le script suivant et revérifié 10000 fois je ne comprend pas ce qui provoque l'erreur de syntaxe . J'ai fait tourné le script chez mon hébergeur et sur un serveur apache local ... Toujours la même erreur :
    Quelqu'un aurait'il une idée de génie sur l'origine du problème ?

    erreur :
    Parse error: syntax error, unexpected T_STRING in C:\xampp\htdocs\app\insert.php on line 19




    script :

    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
    <?php
    //on définie les variables de connexion
    $hote = "localhost" ;
    $user = "root" ;
    $password = "****" ;
    $nomdebase = "anonsfr" ;
     
    // on se connecte à l'hôte MySQL 
    $link = mysql_connect($hote, $user, $password);
    if (!$link) {
        die('Connexion impossible : ' . mysql_error());
    }
    // Rendre la base de données inkmyarmscom, la base courante
    $db_selected = mysql_select_db($nomdebase, $link);
    if (!$db_selected) {
       die ('Impossible de sélectionner la base de données : ' . mysql_error());
    }
    //voila la requête update
    foreach*($_POST['checkbox']*as*$produit)*{
    $insert= "UPDATE app2 SET nombre='1' WHERE  produit='$produit'" ;
    *mysql_query ($insert, $link)
    	or die ("update impossible") ;} 
    mysql_close($link);
     
    ?>

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    tu as des signe ésotériques qui traînent dans le foreach
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach*($_POST['checkbox']*as*$produit)*{
    Comme ça c'est mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach($_POST['checkbox'] as $produit) {
       $insert= "UPDATE app2 SET nombre='1' WHERE produit='$produit'" ;
       mysql_query ($insert, $link) or die ("update impossible") ;
    }

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Avril 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2012
    Messages : 68
    Points : 46
    Points
    46
    Par défaut
    waou des signes ésotériques ??? je connais pas ..
    J'ai copié collé le bout de code fournit effectivement le comportement a changé. Cependant j'obtiens toujours une erreur .

    Warning: Invalid argument supplied for foreach() in /home/www/08eb9d71d0032574021a9e9e8e197aeb/web/app/insert.php on line 19

    je vois pas ... ta une idée ?

  4. #4
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par mitchreward Voir le message
    je vois pas ... ta une idée ?
    ça sent la variable inexistante.
    Tu dois vérifier l'existence des données dans ton tableau $_POST pour la clé utilisée. Quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $data = (( ! empty($_POST['checkbox'])) && is_array($_POST['checkbox'])) ? $_POST['checkbox'] : array();
    foreach($data as $produit) {
       $insert= "UPDATE app2 SET nombre='1' WHERE produit='$produit'" ;
       mysql_query ($insert, $link) or die ("update impossible") ;
    }

Discussions similaires

  1. [9.0] Erreur syntaxe incompréhensible
    Par lita-31 dans le forum Débuter
    Réponses: 2
    Dernier message: 08/12/2014, 17h56
  2. erreur de syntaxe incompréhensible sur un IIF en sql
    Par gaihdriah dans le forum Requêtes et SQL.
    Réponses: 16
    Dernier message: 21/01/2009, 12h08
  3. [javascript] erreur de syntaxe incompréhensible
    Par jijaLaClasse dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 27/11/2007, 11h44
  4. [SQL] Erreur de syntaxe incompréhensible
    Par Equinoxe5 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 26/10/2007, 15h30
  5. [EXISTS] Version MySql ou erreur syntaxe ?
    Par Kimael dans le forum Requêtes
    Réponses: 5
    Dernier message: 01/04/2004, 17h30

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