Bonjour,

je viens vers vous, car je deviens chèvre. Cela fait plusieurs jours que j'essaye en vain de trouver un code qui me permette de faire un UPDATE de ma base MySQL.

Voici le résultat du var_dump :

C:\wamp64\www\CatalogueTrains\process_modif.php:16:
array (size=6)
'pays' => string 'Chine' (length=5)
'repertoire' => string 'Chinois_5' (length=9)
'materiel' => string 'Chinois_5.eng' (length=13)
'simulateur' => string 'ORTS' (length=4)
'commentaire' => string 'TEST_12' (length=7)
'modif' => string 'Enregistrer' (length=11)

Retourne le nombre de champs mis à jour : Mis a jour 0 rows.

Et voici mon code :

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
<?php
 
   include_once('connect.php');
 
   // On s'assure que les données sont en utf8
   $db->EXEC("SET NAMES utf8");
 
   //On récupère les données
 
   $pays = $_POST['pays'];
   $repertoire = $_POST['repertoire'];
   $materiel = $_POST['materiel'];
   $simulateur = $_POST['simulateur'];
   $commentaire = $_POST['commentaire'];
 
   var_dump($_POST);
 
   //On écrit la requête
 
   $req = "UPDATE movies SET 
         pays = :pays, 
         repertoire = :repertoire, 
         materiel = :materiel,  
         simulateur = :simulateur,  
         commentaire = :commentaire  
   WHERE repertoire = :repertoire";
 
   $stmt = $db->prepare($req);                                  
   $stmt->bindParam(':pays', $_POST['pays'], PDO::PARAM_STR);       
   $stmt->bindParam(':repertoire', $_POST['$repertoire'], PDO::PARAM_STR);    
   $stmt->bindParam(':materiel', $_POST['materiel'], PDO::PARAM_STR);
   $stmt->bindParam(':simulateur', $_POST['simulateur'], PDO::PARAM_STR); 
   $stmt->bindParam(':commentaire', $_POST['commentaire'], PDO::PARAM_STR);
   $stmt->execute(); 
 
   // Retourne le nombre de champs mis à jour
   print("Retourne le nombre de champs mis à jour :\n");
   $count = $stmt->rowCount();
   print("Mis a jour $count rows.\n");
 
?>
Je précise que je suis un grand débutant en php et mysql. Si quelqu'un pouvait me montrer pourquoi mon code ne fait rien, je lui en serais reconnaissant.

Merci d'avance.

Cordialement
Pascal