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:
Alors que rien n'a changé dans la base de données.La modification a été effectuée avec succès. Retour à l'administration.
ensuite j'ai le code erreur.
Et je ne trouve pas d'où viens le problème.Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in C:\wwwroot\www\admin\modifier-categorie.php
Je vous mets le code de la page
connexion (idents.php)
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 <?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(); ?>
Si une bonne âme peux me donner une solution.
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égorie :<br/> <input name="titre" size="65" value="<?php echo $affiche['nom_categorie'];?>" type="text"/> </p> <p>Description de la caté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>
Bien à vous.
Partager