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 :

update en pdo [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé Avatar de lesitadom39
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2015
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Août 2015
    Messages : 112
    Par défaut update en pdo
    Bonjour,
    Pour un passage à php7, je me mets à PDO.
    Dans une page, j'affiche d'abord la valeur d'une variable:
    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
     
     <?php
                        include ("connecpdo.php") ;
                        $sql = 'SELECT text_defile FROM defile';
                        $req = $connexion->query($sql);
                        $req->setFetchMode(PDO::FETCH_ASSOC);
                        foreach($req as $row)
                        {?>
    					<table class="cadre">
                        <tr>
                            <td><h2 class="arrondi">Affichage du texte actuel du défilement</h2> </td>
                        </tr>
                        <tr>
                            <td><h2 style="text-align:center"><?=$row['text_defile']?></h2> </td>
                        </tr>
    					</table>
    						<?php
                        }
                        ?>
    Jusqu'ici, tout va bien!!
    Mais ensuite, je propose une mise à jour de la variable via un formulaire
    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
     
      <form name="insertion" action="maintenancebandeau.php" method="POST">
     
                          <table>
                            <tr>
                              <td>Nouvelle annonce</td>
                              <td><input type="text" size="90" name="text_defile" value=""></td>
                            </tr>
                            <tr align="center">
                              <td colspan="2"><input class="boutonsubmit"type="submit" value="modifier"></td>
                            </tr>
                          </table>
                        </form>
                        <?php
    					include ('connecpdo.php');
    					$connexion->query('UPDATE defile SET text_defile = text_defile');
    					?>
    et l'update ne se fait pas...
    Merci de me conseiller.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    1- l'UPDATE doit se faire dans maintenancebandeau.php.

    2- Si tu débutes en PDO, à LIRE :


  3. #3
    Membre confirmé Avatar de lesitadom39
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2015
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Août 2015
    Messages : 112
    Par défaut passage sql pdo pour update
    Bonjour,
    Je précise mon message:
    Mon code "avant"....
    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
     
    <?php
     $cnx = mysql_connect("toto", "titi", "mdp");
     //sélection de la base de données:
     $db = mysql_select_db("machin");
     ?>
     <h2 class="arrondi">    
     <?php
      $delibe= $_POST["delibe"] ;
      $sql = "UPDATE consmuni SET delibe ='$delibe'" ;
    //exécution de la requête SQL:
      $requete = mysql_query($sql) or die( mysql_error() ) ;
      if($requete)
      {         
        echo("La modification à été correctement effectuée") ;
      }
      else
      {
        echo("La modification à échouée") ;
      }
    mysql_close();
     ?>
    dans un fichier "reponsemaintenancebis.php"
    Qui fait réfèrence à un formulaire
    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
     
     
      <?php     
                        include ("porbranche.php") ;   
                         $sql = 'SELECT defil_conseil FROM defileconseil';  
                         $delibe = mysql_real_escape_string($_POST['defil_conseil']);         
                        $requete = mysql_query( $sql, $cnx ) ;
                        while ( $result = mysql_fetch_array( $requete ))      
                            {
                            $var = $result ['defil_conseil'];
                            $var = mb_convert_encoding($var, "UTF-8", "ISO-8859-1");
                        ?>
                        <table class="cadre">
                        <tr>
                            <td><h2 class="arrondi">Affichage du texte actuel</h2><br /> </td>
                        </tr>
                        <tr>
                            <td><?php echo "$var"; ?></td>
                        </tr>
                        <tr>
                            <td class="titre"><a href="menumainthtml5.php">Pas de changement</a></td>
                        </tr>  
                      </table>
                      <h2 class="arrondi">modification annonce date conseil</h2>
                        <form name="insertion" action="reponsemaintenancebishtml5.php" method="POST">
                          <input type="hidden" name="id" value="<?= $data['defil_conseil']?>">
                          <table>
                            <tr>
                              <td>Nouvelle annonce</td>
                              <td><input type="text" size="90" name="defil_conseil" value="<?="$var" ?>"></td>
                            </tr> 
                            <tr align="center">
                              <td colspan="2"><input class="boutonsubmit"type="submit" value="modifier"></td>
                            </tr>
                          </table>
                        </form>
                      <?php
                        }?>
    Est ce que je conserve le même formulaire ?
    qu'est ce qui manque dans ma requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    include ('connecpdo.php');
    					$connexion->query('UPDATE defile SET text_defile = text_defile');
    					?>
    IL me semble qu'il faut rajouter un "wher", mais de quoi?
    Je nage.....
    Merci d'avance

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Si tu n'avais pas WHERE avant, tu n'as pas de raison d'avoir de WHERE après le passage à PDO. (la question de si il y aurait du avoir un WHERE avant est un autre problème )

    Basiquement, il faut remplacer ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      $sql = "UPDATE consmuni SET delibe ='$delibe'" ;
    //exécution de la requête SQL:
      $requete = mysql_query($sql) or die( mysql_error() ) ;
      if($requete) // ....
    Par son équivalent PDO au même endroit dans le code. Ce qui donne (avec une requête préparée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sth = $connexion->prepare('UPDATE consmuni SET delibe = :post_delibe ');
    $sth->execute([':post_delibe' => $delibe]);
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre confirmé Avatar de lesitadom39
    Homme Profil pro
    Retraité
    Inscrit en
    Août 2015
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Jura (Franche Comté)

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

    Informations forums :
    Inscription : Août 2015
    Messages : 112
    Par défaut EUREKA
    Merci pour cette réponse, et à moi à me plonger plus sérieusement dans l'apprentissage de PDO

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

Discussions similaires

  1. [PDO] Update en PDO : Invalid parameter number: mixed named and positional parameters'
    Par MInfo25 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 19/04/2018, 00h35
  2. [PDO] Requete UPDATE avec PDO fonctionnelle en local mais pas sur OVH
    Par olinet dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/12/2014, 14h57
  3. [MySQL] Update avec PDO
    Par moudjahidine dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 30/06/2014, 14h28
  4. [PDO] Update en PDO
    Par mmmppp1903 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 24/02/2013, 10h15
  5. [MySQL] Problème sur un UPDATE via PDO
    Par Rony Rauzduel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/01/2011, 10h16

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