PDO problème d'Update
Résolu
markaz
Messages postés
331
Date d'inscription
Statut
Membre
Dernière intervention
-
markaz Messages postés 331 Date d'inscription Statut Membre Dernière intervention -
markaz Messages postés 331 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai un problème avec mon code d'update et je ne vois pas ou se trouve l'erreur.
Je n'ai pas de message d'erreur en retour
if (((isset($_POST['titre']) && ($_POST['titre']) != "")) && (isset($_POST['description'])) && (($_POST['description']) != "")){ $titre= mysql_real_escape_string($_POST['titre']); $description= mysql_real_escape_string($_POST['description']); $statut= mysql_real_escape_string($_POST['statut']); $id= mysql_real_escape_string($_POST['id']); $photo = ""; //On exécute la requete try { $query = $connect_db->prepare('UPDATE domaine SET (iddomaine = :id, titre = :titre, description = :description, photo = :photo, statut = :statut ) WHERE iddomaine = :id)'); $query->execute(array( 'id' => $id, 'titre' => $titre, 'description' => $description, 'photo' => $photo, 'statut' => $statut )); if ($query){ //La requete s'est exécutée correctement ?> <script language=\javascript1.2\> alert("Mise a jour effectue avec sucess") document.location.href = 'index.php'; </script> <?php } else { //La requete ne s'est pas exécutée correctement?> <script language="javascript1.2"> document.location.href = 'echecMiseajour.php'; </script> <?php } } catch(PDOException $e){ echo "<h1>Une erreur s'est produite lors de l'enregistrement</h1>"; } $query->closeCursor();
Je n'ai pas de message d'erreur en retour
A voir également:
- PDO problème d'Update
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Wsus offline update - Télécharger - Systèmes d'exploitation
- Nettoyage windows update - Guide
1 réponse
Bonjour
Tu dis que tu n'as pas de message d'erreur : quel est le problème alors ?
Mais il est clair que ton code a une grosse erreur : il ne faut surtout pas utiliser de mysql_real_escape_string sur les données que tu vas utiliser avec une requête préparée en PDO. Non seulement c'est inutile car l'exécution des requêtes préparées a son propre système d'échappement, mais en plus ça altère les données que tu vas insérer ou mettre à jour !
Tu dis que tu n'as pas de message d'erreur : quel est le problème alors ?
Mais il est clair que ton code a une grosse erreur : il ne faut surtout pas utiliser de mysql_real_escape_string sur les données que tu vas utiliser avec une requête préparée en PDO. Non seulement c'est inutile car l'exécution des requêtes préparées a son propre système d'échappement, mais en plus ça altère les données que tu vas insérer ou mettre à jour !
Sans compter que dans ton ca précis, c'est complètement inutile de faire
Ça veut dire que tu remplaces la valeur de iddomaine par elle-même ...
Code final