UPDATE renvoie 0 colonnes traitées
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:
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