Vous n'êtes pas identifié(e).
Pages :: 1
bonjour s'il vous plait je veux modifier les champs d'une table sur postgresql le resultat me donne Connexion OK et modification avec succés mais les champs dans latable d bdd ne changent pas sv aidez moi
voici mon code dans une page j'ai
<?php
session_start();
try
{
$bdd = new PDO("pgsql:host=localhost;dbname=stage", "postgres", "123");
echo 'Connexion OK';
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$id = $_SESSION['id'];
$nom_user = $_POST['nom_user'];
$ville = $_POST['ville'];
$region_user = $_POST['region_user'];
$etat = $_POST['etat'];
$couleur = $_POST['couleur'];
$reponse = $bdd->prepare("update projets set nom_user = '$nom_user' , ville = '$ville' , region_user = '$region_user' ,etat = '$etat', couleur = '$couleur' where id_projet = $id ");
if($reponse) { echo "<script>
alert('Modification avec succéq!! ')
</script>";
}
else {
echo "<script>
alert('Erreur de modification! ')
</script>";
}
$reponse ->execute(array());
//header('location:../admin.php');
?>
****************************************
et dans l'autre page j'ai
<?php
session_start();
try
{
$bdd = new PDO("pgsql:host=localhost;dbname=stage", "postgres", "123");
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
$id = $_GET['id'];
$_SESSION['id'] = $id;
$reponse = $bdd->prepare("SELECT * FROM projets where id_projet='$id'");
$reponse->execute();
$tab = $reponse->fetch();
?>
<form name="f1" method="POST" action="script/updateprojet.php">
<tr>
<td> Nom : </td> <td> <input name="nom_user" style="width:160px;" type='text' id="name" value="<?php echo $tab['nom_user']; ?>" placeholder="Enter le nom" maxlength="20" class='float'/> </td>
</tr><br></br>
<tr>
<td> VILLE : </td> <td><input name="ville" style="width:160px;" type='text' id="name" value="<?php echo $tab['ville']; ?>" placeholder="Enter la ville" maxlength="20" class='float'/> </td>
</tr>
<tr><br></br>
<td> REGION : </td> <td><input name="region_user" style="width:160px;" type='text' id="name" value="<?php echo $tab['region_user']; ?>" placeholder="Enter la region" maxlength="20" class='float'/> </td>
</tr><br></br>
<tr>
<td> ETAT : </td> <td><input name="etat" style="width:160px;" type='text' id="name" value="<?php echo $tab['etat']; ?>" placeholder="Enter l'auteur" maxlength="20" class='float'/> </td>
</tr><br></br>
<tr>
<td> COULEUR : </td> <td><input name="couleur" style="width:160px;" type='text' id="name" value="<?php echo $tab['couleur']; ?>" placeholder="Enter la ville" maxlength="20" class='float'/> </td>
</tr><br></br>
<tr>
<td> </td> <td><input name="submit2" type="submit" class="btn_submit_vert" value="Modifier"/> </td>
</tr>
</form>
Hors ligne
Saluton,
Utiliser PDO, c'est excellent, encore faut-il se donner la peine d'essayer d'en comprendre le mécanisme.
Au vu de ton code, il est notoire que ce n'est pas le cas.
La méthode PDO::prepare attend, comme arguments, la chaîne de la requête SQL avec des zones nommées ou marquées et un éventuel tableau de paramètres de configuration du comportement de PDO.
Cette méthode retourne un objet de type PDOStatement dont la méthode PDOStatement::execute attend comme argument un tableau associatif contenant les zones nommés ou marquées définies avec PDO::prepare et/ou leurs valeurs associées.
Un simple coup d'œil aux exemples de la documentation t'aurait utilement mis sur la bonne piste.
Examples ¶
Example #1 Prepare an SQL statement with named parameters
<?php
/* Execute a prepared statement by passing an array of values */
$sql = 'SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour';
$sth = $dbh->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
$sth->execute(array(':calories' => 150, ':colour' => 'red'));
$red = $sth->fetchAll();
$sth->execute(array(':calories' => 175, ':colour' => 'yellow'));
$yellow = $sth->fetchAll();
?>Example #2 Prepare an SQL statement with question mark parameters
<?php
/* Execute a prepared statement by passing an array of values */
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->execute(array(150, 'red'));
$red = $sth->fetchAll();
$sth->execute(array(175, 'yellow'));
$yellow = $sth->fetchAll();
?>
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
merci bcp pour votre reponse
voila maintenant j'ai changé ces lignes mais je reçois une alerte erreur de modification je sais pas prk
$sth= $bdd->prepare("update projets set nom_user = :nom_user , ville = :ville , region_user = :region_user ,etat = :etat, couleur = :couleur where id_projet = :id ");
$retour = $sth->execute(array(':nom_user'=>$nom_user, ':ville'=>$ville, ':region_user'=>$region_user, ':etat'=>$etat, ':couleur'=>$couleur));
if($retour) { echo "<script>
alert('Modification avec succès!! ')
</script>";
}
else {
echo "<script>
alert('Erreur de modification! ')
</script>";
}
Hors ligne
Pages :: 1