Syntaxe pour updater plusieurs colonnes
Résolu/Fermédanielos77 Messages postés 108 Date d'inscription samedi 18 février 2006 Statut Membre Dernière intervention 16 janvier 2024 - 5 août 2022 à 19:31
- Syntaxe pour updater plusieurs colonnes
- Formule moyenne excel plusieurs colonnes - Guide
- Classer par ordre alphabétique excel plusieurs colonnes - Guide
- Word colonnes indépendantes - Guide
- Iobit software updater - Télécharger - Pilotes & Matériel
- Software updater - Télécharger - Optimisation
5 réponses
5 août 2022 à 16:20
CNI n'est pas la même chose que CNImod
5 août 2022 à 16:50
Bonjour Jordane45,
Non CNI est le nom de la colonne et CNImod est la valeur à donner pour l'ID correspondant au NumMembre.
ligne 27 par exemple, je donne à la variable $CNImod la valeur reçue (qui est dans $_POST['CNImod']).
Ensuite dans la requête, je demande l'update pour la colonne CNI avec la valeur de :CNImod pour l'ID souhaité. et dans l'execute, je dééclare que :CNImod est le contenu de la variable $CNImod...
Du moins c'est ce que je pensais faire mais je constate (comme ça ne marche pas) que je dois me planter.
CNI est bien le nom de la colonne, :CNImod est le nom du marqueur dans ta requête sql.
Dans ton tableau passé en paramètre de execute, il faut renseigner le nom du marqueur et pas le nom de la colonne.
Au passage, il faut utiliser la méthode rowCount au lieu de columnCount pour récupérer le nombre de ligne mises à jour par la requête update.
5 août 2022 à 17:43
Bonjour Pitet,
Merci pour ton post.
J'utilise ColumnCount car je n'ai pas plusieurs lignes de modifiées mais une seule par contre, ily a plusieurs colonnes de modifiées.Count n'est pas le nombre de lignes modifiées dans la base mais le nombre de lignes mises à jour par la requête....ok.
Et pour les marqueurs, je vais corriger tout ça.
5 août 2022 à 18:01
J'ai corrigé mais l'erreur est toujours là. ;-(
<?php //activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //TEST echo'TEST<br>'; // vérification des données arrivées var_dump($_POST); // affichage avec print_r echo '<br>'; echo '<pre>'; print_r($_POST); echo '</pre>'; echo '<br>'; $NumMembre=$_POST['NumMembre']; $Brevetmod=$_POST['Brevetmod']; $Paiementmod=$_POST['Paiementmod']; $CNImod=$_POST['CNImod']; $Assurancemod=$_POST['Assurancemod']; $CarteJaunemod=$_POST['CarteJaunemod']; $LSAmod=$_POST['LSAmod']; $LicenceFFPLUMmod=$_POST['LicenceFFPLUMmod']; $Engagementmod=$_POST['Engagementmod']; $Autremod=$_POST['Autremod']; echo $NumMembre.'<br>'; echo $Brevetmod.'<br>'; echo $Paiementmod.'<br>'; echo $CNImod.'<br>'; echo $Assurancemod.'<br>'; echo $CarteJaunemod.'<br>'; echo $LSAmod.'<br>'; echo $LicenceFFPLUMmod.'<br>'; echo $Engagementmod.'<br>'; echo $Autremod.'<br>'; //on inclut le fichier de connexion à la bdd require_once "../secure/cnxBddADT.php"; //$sth appartient à la classe PDOStatement $sth = $bdd->prepare("UPDATE Inscriptions_rallye SET Brevet = :Brevetmod, Paiement = :Paiementmod, CNI = :CNImod, Assurance = :Assurancemod, CarteJaune = :CarteJaunemod, LSA = :LSAmod, LicenceFFPLUM = :LicenceFFPLUMmod, Engagement = :Engagementmod, Autre = :Autremod where NumMembre=$NumMembre"); $sth->execute([ ':Brevetmod'=>$Brevetmod, ':Paiementmod'=>$Paiementmod, ':CNImod'=>$CNImod, ':Assurancemod'=>$Assurancemod, ':CarteJaunemod'=>$CarteJaunemod, ':LSAmod'=>$LSAmod, ':LicenceFFPLUMmod'=>$LicenceFFPLUMmod, ':Engagementmod'=>$Engagementmod, ':Autre'=>$Autremod ]); //On affiche le nb d'entrées mise à jour $count=$sth->rowCount(); print('Mise à jour de '.$count.' entrée(s)'); ?>
5 août 2022 à 19:25
Autremod n'est pas Autre. ...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question5 août 2022 à 19:31
Il n'y a pas à dire un regard extérieur apporte beaucoup.
C'est super [car ça marche en plus ;-)]
Merci Jordane45