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
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'
et si quelqu'un peux m'aider à m'éclaircir d'ou vient mon erreur s'il vous plait!!?
voila 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
<?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 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
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&eacute; du cat&eacute;gorie :</label>
<input type="text" name="libelle" id="libelle" value="<?php echo htmlspecialchars($donnees['LIBELLE_CAT']); ?>" /><br />
<label for="contenu">Caract&eacute;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 ligne ou se trouve le premier erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
$requete->bindValue('LIBELLE_CAT', $_POST['LIBELLE_CAT'], PDO::PARAM_STR);
et la deuxieme erreur

merci de bien m'aider!!