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 :

Requête préparée et UPDATE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut Requête préparée et UPDATE
    Salam ; j'ai une requête préparée sous PDO qui me génère cette erreur :
    Parse error: syntax error, unexpected T_STRING in C:\wamp\www\dbfc\mod\controlmod.inc.php on line 137
    un t string attendu !!!!!!
    la ligne 137 du code :
    ...........
    $modifdata = $cbd->prepare('UPDATE tab SET // ligne 137
    datedec=: $_POST['datedec'],
    m=: $_POST['m'],
    f=: $_POST['f'] ');
    try
    {
    $modifdata->bindParam(':datedec', $datefr, PDO:: PARAM_STR); // date

    $modifdata->bindParam(':m', $_POST['m'], PDO:: PARAM_INT); // entier

    $modifdata->bindParam(':f', $_POST['f'], PDO:: PARAM_INT); // entier
    $modifdata->execute();
    header ('location: tab.php');
    }

    catch ( Exception $e )
    {
    echo 'Erreur de requête : ', $e->getMessage();

    }

    j'arrive pas a détourné l'erreur !!!!!

  2. #2
    Invité
    Invité(e)
    Par défaut
    Un peu de cohérence ne fait pas de mal :
    Code php : 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
    <?php
    $modifdata = $cbd->prepare('
    UPDATE tab SET
    	datedec = :datedec,
    	m = :m,
    	f = :f 
    	');
    try
    {
    	$modifdata->bindParam(':datedec', $_POST['datedec'], PDO:: PARAM_STR); // date
    	$modifdata->bindParam(':m', $_POST['m'], PDO:: PARAM_INT); // entier
    	$modifdata->bindParam(':f', $_POST['f'], PDO:: PARAM_INT); // entier
    	$modifdata->execute();
    	header ('location: tab.php');
    }
    catch ( Exception $e )
    {
    	echo 'Erreur de requête : ', $e->getMessage();
    }
    ?>

  3. #3
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Re , Merci jreaux63 +1 , maintenant j'ai un autre message d'erreur :
    SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    <?php
    .........
    $modifdata = $cbd->prepare('
    UPDATE tab SET 
    cdec=:cdec,  // autoincrementation
    cdet=:cdet,
    cdc=:cdc,
    datedec=: datefr,
    m=: m,
     f=:f
    ');
    try
    {
     
    $modifdata->bindparam(':cdec',	$_POST['cdec'], 	 	PDO::PARAM_INT); // entier
    $modifdata->bindparam(':cdet',	$_POST['cdet'], 	 	PDO::PARAM_STR); // chaine de caractéres
    $modifdata->bindParam(':cdc',	$_POST['cdc'],  		PDO::PARAM_STR); // chaine de caractéres
     
    $modifdata->bindParam(':datedec',  $datefr,  			PDO::PARAM_STR); // date 
     
    $modifdata->bindParam(':m',  	$_POST['m'], 		PDO::PARAM_INT); // entier
     
    $modifdata->bindParam(':f',  		$_POST['f'], 		PDO::PARAM_INT); // entier
     
    $modifdata->execute();
    header ('location: tab.php');
    }
     
    catch ( Exception $e )
    {
    echo 'Erreur de requête : ', $e->getMessage();
     
    }
     
    ?>
    de quel jeton s'agit-il ? y'a six paramètres et six valeurs !!!!

  4. #4
    Invité
    Invité(e)
    Par défaut
    2 erreurs :
    1/ datedec=: datefr, => enlever l'espace : datedec=:datefr
    Ici aussi : m=:m,

    2/
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $modifdata->bindParam(':datefr',  $datefr,  			PDO::PARAM_STR); // date
    c'est :datefr, et pas :datedec !

    Il me semble l'avoir déjà écrit :
    Citation Envoyé par jreaux62 Voir le message
    Un peu de cohérence ne fait pas de mal

  5. #5
    Membre éprouvé Avatar de redoran
    Homme Profil pro
    Développeur-Amateur
    Inscrit en
    Juin 2010
    Messages
    1 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur-Amateur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2010
    Messages : 1 346
    Par défaut
    Oui maitre effectivement l'origine c'était les espaces merci
    c'est :datefr, et pas :datedec !
    non non non datedec c'est le champs de la table et datefr c'est la conversion de la date mysql
    merci pour ta disposition.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Tu confonds encore :
    c'est BIEN :datefr, et pas :datedec
    Il ne s'agit ici NI du champ datedec, NI de la valeur $datefr, mais du Nommage du place holder

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

Discussions similaires

  1. Pb avec composition d'une requête SQL : DButils UPDATE
    Par Paloma dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/05/2007, 20h30
  2. Requête INSERT ou UPDATE avec saut de ligne
    Par CinErarY dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 02/05/2007, 04h38
  3. [PDO] Problème de requête préparée (à n'y rien comprendre?)
    Par waldo2188 dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 20/03/2007, 21h53
  4. [ODBC] Faire une requête INSERT, DELETE, UPDATE
    Par avogadro dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 21/09/2006, 11h35
  5. [PDO] Ma requêtes préparées me retourne false
    Par jeff_! dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 03/05/2006, 22h07

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