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 :

Modifier les champs dans la bdd postgresql avec php [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Modifier les champs dans la bdd postgresql avec php
    bonjour ;
    s'il vous plait j'ai un probleme je viens de modifier les champs dans bdd en réalisant ce code ,en cliquant sur modifierle resultat donne connexion OK , modification avec succés mais rien ne change dans ma bdd , aidez moi svp voila j'ai séparé le code dans une page j'ai
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    <?php 
    session_start();
    try
    {
      $bdd = new PDO("pgsql:host=localhost;dbname=stage", "postgres", "123");
       echo 'Connexion OK';
    }
    catch(Exception $e)
    {
       die('Erreur : '.$e->getMessage());
    }
     $id = $_SESSION['id'];
     
     $nom_user = $_POST['nom_user'];
     $ville = $_POST['ville'];
     $region_user = $_POST['region_user'];
     $etat = $_POST['etat'];
     $couleur = $_POST['couleur'];
    $reponse = $bdd->prepare("update projets set nom_user = '$nom_user' , ville = '$ville' , region_user = '$region_user' ,etat = '$etat', couleur = '$couleur'  where id_projet = $id ");
    if($reponse)  {  echo "<script>
               alert('Modification avec succéq!! ')
                 </script>";
                  }
    else {
    		echo "<script>
    alert('Erreur de modification! ')
    </script>";
          }
     
     
     
       $reponse ->execute(array());
     
     //header('location:../admin.php');
     
     
    ?>
     
     
    ****************************************
    et dans l'autre page j'ai
    <?php 
    session_start();
    try
    {
     
      $bdd = new PDO("pgsql:host=localhost;dbname=stage", "postgres", "123");
     
     
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
    $id = $_GET['id'];
     
    $_SESSION['id'] = $id;
     
    $reponse = $bdd->prepare("SELECT * FROM projets where id_projet='$id'");
    $reponse->execute();
    $tab = $reponse->fetch();
    ?>
     
    <form name="f1" method="POST" action="script/updateprojet.php">
     
        <tr>
        <td> Nom : </td>  <td> <input name="nom_user" style="width:160px;" type='text' id="name" value="<?php echo $tab['nom_user'];  ?>" placeholder="Enter le nom" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <td> VILLE : </td>  <td><input name="ville" style="width:160px;" type='text' id="name" value="<?php echo $tab['ville'];  ?>" placeholder="Enter la ville" maxlength="20" class='float'/> </td> 
         </tr>
         <tr><br></br>
        <td> REGION :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  <td><input name="region_user" style="width:160px;" type='text' id="name" value="<?php echo $tab['region_user'];  ?>" placeholder="Enter  la region" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <td> ETAT :&nbsp;&nbsp;&nbsp; </td>  <td><input name="etat" style="width:160px;" type='text' id="name" value="<?php echo $tab['etat'];  ?>" placeholder="Enter l'auteur" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <td> COULEUR : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  <td><input name="couleur" style="width:160px;" type='text' id="name" value="<?php echo $tab['couleur'];  ?>" placeholder="Enter la ville" maxlength="20" class='float'/> </td> 
         </tr><br></br>
     
      <tr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <td> </td> <td><input name="submit2" type="submit" class="btn_submit_vert" value="Modifier"/> </td> 
         </tr>
     
      </form>

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Les requêtes préparées fonctionnement comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    $sth= $bdd->prepare("update projets set nom_user = :nom_user , ville = :ville , region_user = :region_user ,etat = :etat, couleur = :couleur  where id_projet = :id ");
    $retour = $sth->execute(array(':nom_user'=>$nom_user, ':ville'=>$ville, ':region_user'=>$region_user, ':etat'=>$etat, ':couleur'=>$couleur, ':id_projet'=>$id));
    if($retour)  {  echo "<script>
               alert('Modification avec succès!! ')
                 </script>";
                  }
    else {
    		echo "<script>
    alert('Erreur de modification! ')
    </script>";
          }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    merci bcp pour votre réponse normalement j'ai pas un manque d'un ")" et je n'ai pas une parenthèse de plus
    mais j'obtient encore un erreur
    Parse error: parse error, expecting `')'' in C:\wamp\www\site\projet.php on line 23
    dans ce ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $retour = $sth->execute(array(':nom_user'=>$nom_user, ':ville'=>$ville, ':region_user'=>$region_user, ':etat'=>$etat; ':couleur'=>$couleur, ':id_projet'=>$id));

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Il y a un ; qui traine.
    J'ai corrigé dans le message.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    c bon maintenant pas d'erreur mercii infiniment
    mais je sais pas pourquoi l'alerte affiche erreur de modification sachant que j'ai vérifié que les champs son't tous en minuscule comme dans la bdd

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Active les erreurs PDO.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    j'ai fais une recherche , mais comme je suis une débutante je souhaite que vous m'indiquer est ce que c'est comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    try
    {
      // On se connecte à postgres
      $bdd = new PDO("pgsql:host=localhost;dbname=miah", "postgres", "zohit");
         $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
     
    }
    catch (PDOException $e) {
       echo 'Error : ' . $e->getMessage();
       die();
    }

  8. #8
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    tu as peur d'essayer ce code ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    non ! mais le résultat m'a donné un erreur ;
    et je veux m'assurer si je suis en bon chemin
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08P01]: <<Unknown error>>: 7 ERREUR: le message bind fournit 5 paramètres, mais l'instruction préparée « pdo_stmt_00000000040891c0 » en requiert 6' in C:\wamp\www\site\updateprojet.php:24 Stack trace: #0 C:\wamp\www\site\updateprojet.php(24): PDOStatement->execute(Array) #1 {main} thrown in C:\wamp\www\site\updateprojet.php on line 24(en ce ligne:
    $retour = $sth->execute(array(':nom_user'=>$nom_user, ':ville'=>$ville, ':region_user'=>$region_user, ':etat'=>$etat, ':couleur'=>$couleur));

  10. #10
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    ah oui j'ai mais :id dans la requête et :id_projet dans l'execution.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    oui quand je mets le id
    je reçois Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: :id_projet' in C:\wamp\www\site\updateprojet.php:24 Stack trace: #0 C:\wamp\www\site\t\updateprojet.php(24): PDOStatement->execute(Array) #1 {main} thrown in C:\wamp\www\site\updateprojet.php on line 24
    j'ai testé sans id pour savoir s'il ça marche ou pas

  12. #12
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux nous montrer le code preparation et execution ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <?php 
    session_start();
    try
    {
     
      $bdd = new PDO("pgsql:host=localhost;dbname=miah", "postgres", "zohit");
     
     
    }
    catch(Exception $e)
    {
            die('Erreur : '.$e->getMessage());
    }
    $id = $_GET['id_projet'];
     
    $_SESSION['id_projet'] = $id;
     
    $reponse = $bdd->prepare("SELECT * FROM projets where id_projet='$id'");
    $reponse->execute();
    $tab = $reponse->fetch();
    ?>
     
    <form name="f1" method="POST" action="script/updateprojet.php">
    <tr>
        <td> Nom : </td>  <td> <input name="id_projet" style="width:160px;" type='text' id="name" value="<?php echo $tab['id_projet'];  ?>" placeholder="Enter le nom" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <tr>
        <td> Nom : </td>  <td> <input name="nom_user" style="width:160px;" type='text' id="name" value="<?php echo $tab['nom_user'];  ?>" placeholder="Enter le nom" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <td> VILLE : </td>  <td><input name="ville" style="width:160px;" type='text' id="name" value="<?php echo $tab['ville'];  ?>" placeholder="Enter la ville" maxlength="20" class='float'/> </td> 
         </tr>
         <tr><br></br>
        <td> REGION :&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  <td><input name="region_user" style="width:160px;" type='text' id="name" value="<?php echo $tab['region_user'];  ?>" placeholder="Enter  la region" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <td> ETAT :&nbsp;&nbsp;&nbsp; </td>  <td><input name="etat" style="width:160px;" type='text' id="name" value="<?php echo $tab['etat'];  ?>" placeholder="Enter l'auteur" maxlength="20" class='float'/> </td> 
         </tr><br></br>
         <tr>
        <td> COULEUR : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>  <td><input name="couleur" style="width:160px;" type='text' id="name" value="<?php echo $tab['couleur'];  ?>" placeholder="Enter la ville" maxlength="20" class='float'/> </td> 
         </tr><br></br>
     
      <tr>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
        <td> </td> <td><input name="submit2" type="submit" class="btn_submit_vert" value="Modifier"/> </td> 
         </tr>
     
      </form>
     
    et voila l'autre code 
     
     
    <?php 
    session_start();
    try
    {
      // On se connecte à postgres
      $bdd = new PDO("pgsql:host=localhost;dbname=miah", "postgres", "zohit");
         $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     
     
    }
    catch (PDOException $e) {
       echo 'Error : ' . $e->getMessage();
       die();
    }
     $id = $_SESSION['id_projet'];
     
     $nom_user = $_POST['nom_user'];
     $ville = $_POST['ville'];
     $region_user = $_POST['region_user'];
     $etat = $_POST['etat'];
     $couleur = $_POST['couleur'];
     
    $sth= $bdd->prepare("update projets set nom_user = :nom_user , ville = :ville , region_user = :region_user ,etat = :etat, couleur = :couleur  where id_projet = :id ");
    $retour = $sth->execute(array(':nom_user'=>$nom_user, ':ville'=>$ville, ':region_user'=>$region_user, ':etat'=>$etat, ':couleur'=>$couleur,':id_projet'=>$id));
    if($retour)  {  echo "<script>
               alert('Modification avec succès!! ')
                 </script>";
                  }
    else {
    		echo "<script>
    alert('Erreur de modification! ')
    </script>";
          }
     //header('location:../clients1.php');
     
     
    ?>

  14. #14
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as toujours :id d'un côté et :id_projet de l'autre.
    Il faut la même chose dans la requête et dans la préparation.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  15. #15
    Futur Membre du Club
    Femme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2014
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information

    Informations forums :
    Inscription : Septembre 2014
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    merci infiniment c résolu

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

Discussions similaires

  1. Problème avec les update dans une BDD
    Par P.O.K dans le forum ASP.NET
    Réponses: 1
    Dernier message: 13/06/2011, 17h07
  2. [AC-2003] modifier les données dans le champs d'une table en sql
    Par carlostropico dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 01/12/2009, 16h24
  3. Réponses: 5
    Dernier message: 06/02/2008, 16h01
  4. Réponses: 2
    Dernier message: 19/02/2007, 13h02
  5. Réponses: 9
    Dernier message: 05/02/2007, 12h27

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