UPDATE Requete preparé PDO help

Messages postés
22
Date d'inscription
lundi 3 septembre 2007
Statut
Membre
Dernière intervention
23 mai 2012
- - Dernière réponse :  fhdesign - 23 août 2018 à 01:49
Bonjour tout le monde ^_^
voila je fais un projet pour l'ecole, ça fais 3 jours que je suis bloqué aidé moi svp (si c'est possible de m expliqué ou j ai fai l erreur :) merci d avance).
je n arrive pas a modifié des articles, même après la validation des modifications aucune erreur dans la page
$req= $bdd->prepare("UPDATE news SET titre= :nvtitre, article= :nvcontenu, dates=NOW() WHERE id= :ids");
    $req->exec(array(
'nvtitre'=>$nvtitre,
'nvcontenu'=>$nvcontenu,
'ids'=>$ids
));

Code complet de la page :
<?php
session_start();
if(isset($_POST['validerMod']))
{
header("location:newsMod.php");
}
if(!isset($_SESSION['pseudo']) || $_SESSION['ue'] < 2)
header("location:inscription.php");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>edites</title>
</head>


<?php

include('rapide.php');

$rep=$bdd->query('SELECT * FROM news ORDER BY id');

?>
<center>
choix de news


<form  method="post" action="">

 Titre des News  |
Modifier |
Desactiver |

<?php
$i =1;// choix de couleur par modulo
while($data =  $rep->fetch())
{
$color1='#669999';
$color2='#009999';
//echo $data['titre'].' 
';
if(($i % 2) == 0)
{
echo \"----
\";
echo ' '.$data['titre'].'  |';
echo ' |';
echo ' |';
echo '';
}
else
{
echo \"----
\";
echo ''.$data['titre'].' |';
echo ' |';
echo ' |';
echo '';
}

$i++;
}
?>


<?php

$rep->closeCursor();


echo '';
echo '

';
echo '</form>';
echo '</center>';


$ids =0;
if(isset($_POST['validerChoix']))
{
$ids=(int)htmlspecialchars($_POST['id']);
echo "Teste id ===================>".$ids;//Teste id 
$rep=$bdd->prepare('SELECT * FROM news WHERE id=:ids');
$rep->execute(array(
'ids'=>$ids
));
echo "<center>Modifier la news

";
echo '<form  method="post" action="">';
echo "";
    $info = $rep->fetch();
echo 'Titre :
';
echo '<textarea  name="article" rows="10" cols="45" >';
echo $info['article'] ;
echo "</textarea>
";
echo '';
echo "

";
echo "</form>";
echo "</center>";	
}
$rep->closeCursor();
echo "Teste id ===================>".$ids;//Teste id 
if(isset($_POST['validerMod']))
{
echo "Teste id ===================>".$ids;//Teste id 
$nvtitre= htmlspecialchars($_POST['titre']);
$nvcontenu= htmlspecialchars($_POST['article']);

$req=$bdd->prepare('UPDATE news SET titre= :nvtitre, article= :nvcontenu, dates=NOW() WHERE id= :ids');
    $req->exec(array(
'nvtitre'=>$nvtitre,
'nvcontenu'=>$nvcontenu,
'ids'=>$ids
));

if($req === false)
echo "Erreur Modification 
";

}

?>



</html>


include('rapide.php')
<?php
try
{
  $bdd=new PDO('mysql:host=localhost; dbname=projet','root','');


}catch(Exception $e)
{
die('Erreur :'.$e->getMessage());
}
?>
Afficher la suite 

Votre réponse

2 réponses

0
Merci
Bonjour,
je ne saurais répondre à ce message car j'ai un problème similaire
d'UPDATE de BDD qui ne veux pas se faire avec des requetes préparées...
As tu eu la solution?
Peux-tu me la communiquer?
Je te remercie,
Olivier?
Commenter la réponse de shuterland
0
Merci
if(!empty($_POST['title']) && !empty($_POST['post']) ) {
$id = $_POST['id'];
$update = "UPDATE post SET
title = :title,
post = :post,
image = :image,
category = :category
WHERE id = $id ";
$stmt = $dbh->prepare($update);
$stmt->bindParam(':title', $_POST['title'], PDO::PARAM_STR);
$stmt->bindParam(':post', $_POST['post'], PDO::PARAM_STR);
$stmt->bindParam(':image', $_POST['image'], PDO::PARAM_STR);
// use PARAM_STR although a number
$stmt->bindParam(':category', $_POST['category'], PDO::PARAM_STR);
$stmt->execute();
};
header('Location: ../admin/update_post.php?id='.$_POST['id']);
Commenter la réponse de fhdesign