Bonsoir a tous.

Je viens à vous car j'ai un petit problème pour un Update de base de données.

Je précise je voudrais faire des mises à jour de titre dans une base de données mais je bloque un peu.

le problème: le script me dit:
La modification a été effectuée avec succès. Retour à l'administration.
Alors que rien n'a changé dans la base de données.

ensuite j'ai le code erreur.
Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wwwroot\www\admin\modifier-categorie.php
Et je ne trouve pas d'où viens le problème.

Je vous mets le code de la page

connexion (idents.php)
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
 
<?php
//données pour la connexion à la base de données
 function connexion_bd(){
 
$nom_du_serveur ="localhost";
$nom_de_la_base ="base";
$nom_utilisateur ="root";
$passe ="mdp";
 
  @$link = mysqli_connect($nom_du_serveur,$nom_utilisateur,$passe,$nom_de_la_base);
        @mysqli_set_charset($link,"utf8");
        //printf("Jeu de caractères courant : %s\n", mysqli_character_set_name($link));
        if (mysqli_connect_errno($link)) {
            echo "Echec lors de la connexion à MySQL : " . mysqli_connect_error($link);
            exit();
        }
        return $link;
    }
    $connexion = connexion_bd();
?>
La page:

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
 
<?php
    // on se connecte à la base de données (je place la connexion à la BD en début de fichier)
    include('idents.php');   
    //Fonction pour nettoyer une chaîne (on pourrait placer cette fonction dans un fichier appelé également par une include)
    function clean($chaine){
        $chaine = trim(htmlspecialchars($chaine, ENT_COMPAT , 'utf-8'));
        return $chaine;
    }
?>
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
______
______
______
______
</head>
 
  <body>
____
____
<?php 
 
  //Si l'action de modifier a été faite 
  if(isset($_POST["Modifier"])) 
  { 
 
    $titre = htmlspecialchars(stripcslashes(trim($_POST["titre"]))); 
    $description = htmlspecialchars(stripcslashes($_POST["description"]));
    $id = $_GET["id"];   
    //on enregistre les données
    $result = mysqli_query($connexion,"UPDATE CATEGORIES SET nom_categorie='".mysqli_real_escape_string($connexion,$titre)."', description_categorie='".mysqli_real_escape_string($connexion,$description)."' WHERE id = '$id'");
    //Si il y a une erreur, on crie ^^ 
    if (!$result){
      die('Requête invalide : ' . mysql_error()); 
    } 
    else
    { 
      //on informe que le message est enregistré 
      echo '<div class="cadre"><p>La modification à été éffectué avec succès. <a href=index.php> Retour à l\'administration.</a></p></div>';
    }         
    //on ferme if(isset($_POST["Modifier"])) 
  } 
  ?> 
 
    <!-- debu formulaire -->
  <form action="modifier-categorie.php?id=<?php echo $id;?>" method="post"> 
  <fieldset>   
  <?php 
  $id = $_GET["id"];
  $result = mysqli_query($connexion,"SELECT * FROM CATEGORIES WHERE id = $id"); 
  while($affiche = mysqli_fetch_array($result)){ 
    ?> 
    <p>Titre de la cat&eacute;gorie :<br/>  
    <input name="titre" size="65" value="<?php echo $affiche['nom_categorie'];?>"  type="text"/> </p> 
    <p>Description de la cat&eacute;gorie :<br/>  
    <textarea name="description" rows="10" cols="50" ><?php echo $affiche['description_categorie'];?></textarea> </p> 
    <?php 
    //On ferme la boucle while 
  } 
  ?> 
  <input name="Modifier" value="Modifier" type="submit"/> 
  <input name="Effacer" value="Effacer" type="reset"/>   
  </fieldset> 
  </form> <!-- fin du formulaire --> 
 
 
</body>
</html>
Si une bonne âme peux me donner une solution.

Bien à vous.