bonsoir!! j'ai deux code update, l'autre pour afficher et selectionner l'id du champ a modifier et l'autre pour executer la modification, et pour le premier code sa va mais dans le duexieme code quand je valide la modification j'ai deux messages d'erreurs
et si quelqu'un peux m'aider à m'éclaircir d'ou vient mon erreur s'il vous plait!!?Notice: Undefined index: LIBELLE_CAT
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens'
voila mon code
et l'autre code qui a ces erreurs
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 <?php // on se connecte à notre base $hostdb = 'localhost'; $userdb = 'root'; $passdb = ''; $namedb = 'mfb'; try { $conn = new PDO("mysql:host=".$hostdb."; dbname=".$namedb."", $userdb, $passdb, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $conn->exec("SET CHARACTER SET utf8"); } catch (PDOException $e) { echo 'La base de donnée n\'est pas disponible'; } ?> <form action="modifi_cat1.php" method="GET"> <?php $requete = $conn->query('SELECT * FROM categorie'); ?> <select name="CODE_CATEGORIE"> <?php while($donnees = $requete->fetch()){ ?> <option value="<?php echo $donnees['CODE_CATEGORIE']; ?>"><?php echo htmlspecialchars($donnees['CODE_CATEGORIE']); ?></option> <?php } ?> </select> <?php $requete->closeCursor(); ?> <a href='modifi_cat1.php'><input type="submit" name="modifier" value="OK" /></a> </form>
et la ligne ou se trouve le premier erreur
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 <?php // on se connecte à notre base $hostdb = 'localhost'; $userdb = 'root'; $passdb = ''; $namedb = 'mfb'; try { $conn = new PDO("mysql:host=".$hostdb."; dbname=".$namedb."", $userdb, $passdb, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); $conn->exec("SET CHARACTER SET utf8"); } catch (PDOException $e) { echo 'La base de donnée n\'est pas disponible'; } ?> <?php $requete = $conn->prepare('SELECT * FROM categorie WHERE CODE_CATEGORIE = :CODE_CATEGORIE'); $requete->bindValue('CODE_CATEGORIE', $_GET['CODE_CATEGORIE'], PDO::PARAM_INT); $requete->execute(); if($donnees = $requete->fetch()) { if(isset($_POST['submit'])) { $update = $conn->prepare('UPDATE categorie SET LIBELLE-CAT = :LIBELLE-CAT, caracteristique = :caracteristique WHERE CODE_CATEGORIE = :CODE_CATEGORIE'); $requete->bindValue('CODE_CATEGORIE', $donnees['CODE_CATEGORIE'], PDO::PARAM_INT); $requete->bindValue('LIBELLE_CAT', $_POST['LIBELLE_CAT'], PDO::PARAM_STR); $requete->bindValue('caracteristique', $_POST['caracteristique'], PDO::PARAM_STR); $requete->execute(); header('Location: categorie.php'); exit(); } ?> <form method="POST" action="modifi_cat1.php?CODE_CATEGORIE=<?php echo $donnees['CODE_CATEGORIE']; ?>"> <label for="titre">Libellé du catégorie :</label> <input type="text" name="libelle" id="libelle" value="<?php echo htmlspecialchars($donnees['LIBELLE_CAT']); ?>" /><br /> <label for="contenu">Caractéristique :</label> <textarea rows="4" cols="50" name="caracteristique" id="caracteristique"><?php echo htmlspecialchars($donnees['caracteristique']); ?></textarea><br /> <input type="submit" name="submit" value="Modifier" /><br/><br/> </form> <?php } else{ // L'entrée n'existe pas } $requete->closeCursor(); ?>
et la deuxieme erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part $requete->bindValue('LIBELLE_CAT', $_POST['LIBELLE_CAT'], PDO::PARAM_STR);
merci de bien m'aider!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part $requete->execute();
Partager