Update PDO
                    
        
     
             
                    Sinistrus
    
        
    
                    Messages postés
            
                
     
             
            1010
        
            
                            Date d'inscription
             
                            Statut
            Membre
                            Dernière intervention
             
            
                -
                                     
Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
        Sinistrus Messages postés 1010 Date d'inscription Statut Membre Dernière intervention -
        Bonjour à tous !
J'ai un petit soucis sur ce bout de code et sollicite votre aide :
Je ne comprends pas pourquoi il n'édite pas :\
            
            
                
            
                
    
    
    
        J'ai un petit soucis sur ce bout de code et sollicite votre aide :
<?php
$NumId = $_GET["info"];
$Fr_Titre					= $_POST["Fr_Titre"];
$Fr_Descriptions			= $_POST["Fr_Descriptions"];
$En_Titre					= $_POST["En_Titre"];
$En_Descriptions			= $_POST["En_Descriptions"];
$CI 						= isset($_POST["CI"]) ? "1" : "0";
$SN 						= isset($_POST["SN"]) ? "1" : "0";
$Fr_Titre					= stripslashes($Fr_Titre);
$Fr_Descriptions			= stripslashes($Fr_Descriptions);
$En_Titre					= stripslashes($En_Titre);
$En_Descriptions			= stripslashes($En_Descriptions);
$FR_PDO = $pdo->prepare("UPDATE tb_fr_infos SET Titre=:Fr_Titre, Descriptions=:Fr_Descriptions, CI=:CI, SN=:SN WHERE NumId = '$NumId' ");
$FR_PDO->bindParam(":Titre", $Fr_Titre); 
$FR_PDO->bindParam(":Descriptions", $Fr_Descriptions); 
$FR_PDO->bindParam(":CI", $CI); 
$FR_PDO->bindParam(":SN", $SN); 
$FR_PDO->execute();
$EN_PDO = $pdo->prepare("UPDATE tb_en_infos SET Titre=:En_Titre, Descriptions=:En_Descriptions, CI=:CI, SN=:SN WHERE NumId = '$NumId' ");
$EN_PDO->bindParam(":Titre", $En_Titre); 
$EN_PDO->bindParam(":Descriptions", $En_Descriptions); 
$EN_PDO->bindParam(":CI", $CI); 
$EN_PDO->bindParam(":SN", $SN); 
$EN_PDO->execute();
if($req){echo("<div class=\"Message\">L'enregistrement a été édité avec succès.</div>");}else{
echo("<div class=\"Erreur\">Une erreur est survenue lors de l'enregistrement.</div>");} exit();
if (!empty($_GET["msg"])){$msg=urldecode($_GET["msg"]); $msg=stripslashes($msg); echo("<div class=\"Erreur\">$msg</div>");}
?>
Je ne comprends pas pourquoi il n'édite pas :\
        A voir également:         
- Update PDO
- 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
3 réponses
                        
                    Bonjour
Tu appelles tes marqueurs :Fr_Titre, :Fr_Description... dans tes requêtes, mais :Titre et :Description seulement dans tes bindParam
    
                Tu appelles tes marqueurs :Fr_Titre, :Fr_Description... dans tes requêtes, mais :Titre et :Description seulement dans tes bindParam
                        
                    Le père à raison :
Tu écris
Mais dans ta requête tu écris ":Fr_Titre"
serait correct, idem pour description.
Je me pose quelques questions :
Pourquoi ne pas utiliser le bindParam pour les paramètres des clauses WHERE?
Ta variable $req de la condition qui suit le dernier execute() est elle définit dans un code précédent que nous n'avons pas?
Exit stop bien le script courant? Quel est l'intérêt de la condition après le exit()?
Résolu? ===> [RESOLU]
    
                Tu écris
$FR_PDO->bindParam(":Titre", $Fr_Titre);
Mais dans ta requête tu écris ":Fr_Titre"
$FR_PDO->bindParam(":Fr_Titre", $Fr_Titre);
serait correct, idem pour description.
Je me pose quelques questions :
Pourquoi ne pas utiliser le bindParam pour les paramètres des clauses WHERE?
Ta variable $req de la condition qui suit le dernier execute() est elle définit dans un code précédent que nous n'avons pas?
Exit stop bien le script courant? Quel est l'intérêt de la condition après le exit()?
Résolu? ===> [RESOLU]
                        
                    Voici ce que j'ai par fini mais qui ne fonctionne toujours pas :
pourtant cette page là fonctionne bien :
    
                <?php
$NumId = $_GET["info"];
$Fr_Titre    = $_POST["Fr_Titre"];
$Fr_Descriptions   = $_POST["Fr_Descriptions"];
$En_Titre    = $_POST["En_Titre"];
$En_Descriptions  = $_POST["En_Descriptions"];
$CI      = isset($_POST["CI"]) ? "1" : "0";
$SN      = isset($_POST["SN"]) ? "1" : "0";
$Fr_Titre    = stripslashes($Fr_Titre);
$Fr_Descriptions   = stripslashes($Fr_Descriptions);
$En_Titre    = stripslashes($En_Titre);
$En_Descriptions  = stripslashes($En_Descriptions);
$FR_PDO = $pdo->prepare("UPDATE tb_fr_infos SET Titre=:Fr_Titre, Descriptions=:Fr_Descriptions, CI=:CI, SN=:SN WHERE NumId = '$NumId' ");
$FR_PDO->bindParam(":Fr_Titre", $Fr_Titre); 
$FR_PDO->bindParam(":Fr_Descriptions", $Fr_Descriptions); 
$FR_PDO->bindParam(":CI", $CI); 
$FR_PDO->bindParam(":SN", $SN); 
$FR_PDO->execute();
$EN_PDO = $pdo->prepare("UPDATE tb_en_infos SET Titre=:En_Titre, Descriptions=:En_Descriptions, CI=:CI, SN=:SN WHERE NumId = '$NumId' ");
$EN_PDO->bindParam(":En_Titre", $En_Titre); 
$EN_PDO->bindParam(":En_Descriptions", $En_Descriptions); 
$EN_PDO->bindParam(":CI", $CI); 
$EN_PDO->bindParam(":SN", $SN); 
$EN_PDO->execute();
if($req){echo("<div class=\"Message\">L'enregistrement a été édité avec succès.</div>");}else{
echo("<div class=\"Erreur\">Une erreur est survenue lors de l'enregistrement.</div>");}
if (!empty($_GET["msg"])){$msg=urldecode($_GET["msg"]); $msg=stripslashes($msg); echo("<div class=\"Erreur\">$msg</div>");}
?>
pourtant cette page là fonctionne bien :
<?php
$NumId = $_GET["rss"];
$Date						= $_POST["Date"];
$Titre						= $_POST["Titre"];
$Descriptions				= $_POST["Descriptions"];
$Lien						= $_POST["Lien"];
$Date						= stripslashes($Date);
$Titre						= stripslashes($Titre);
$Descriptions				= stripslashes($Descriptions);
$Lien						= stripslashes($Lien);
$PDOStatement = $pdo->prepare("UPDATE tb_rss SET Date=:Date, Titre=:Titre, Descriptions=:Descriptions, Lien=:Lien WHERE NumId = '$NumId' ");
$PDOStatement->bindParam(":Date", date('Y-m-d H:i:s', strtotime($Date)));
$PDOStatement->bindParam(":Titre", $Titre); 
$PDOStatement->bindParam(":Descriptions", $Descriptions); 
$PDOStatement->bindParam(":Lien", $Lien); 
$PDOStatement->execute();
if($req){echo("<div class=\"Message\">Le flux RSS a été édité avec succès.</div>");}else{
echo("<div class=\"Erreur\">Une erreur est survenue lors de l'enregistrement.</div>");} 
if (!empty($_GET["msg"])){$msg=urldecode($_GET["msg"]); $msg=stripslashes($msg); echo("<div class=\"Erreur\">$msg</div>");}
?>
                
                 
    
    
    
    
$FR_PDO = $pdo->prepare("UPDATE tb_fr_infos SET Titre=:Fr_Titre, Descriptions=:Fr_Descriptions, CI=:CI, SN=:SN WHERE NumId = '$NumId' "); $FR_PDO->bindParam(":Fr_Titre", $Fr_Titre); $FR_PDO->bindParam(":Fr_Descriptions", $Fr_Descriptions); $FR_PDO->bindParam(":CI", $CI); $FR_PDO->bindParam(":SN", $SN); $FR_PDO->execute();Rien y fait ! Il n'édite aucune ligne...