Php -> PDO -> Update qui ne s'execute pas.

Résolu/Fermé
logique Messages postés 92 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 avril 2013 - 25 sept. 2012 à 20:02
logique Messages postés 92 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 avril 2013 - 26 sept. 2012 à 14:45
Bonjour, J'ai un petit soucis au niveau d'un UPDATE en PDO, ma page contenant le UPDATE n'execute rien, si vous pouvez me débloquer ? merci . J'explique rapidement le contexte : On a une BDD contenant des jeux videos ainsi que leurs infomations et les pages que je réalise doivent être capable d'ajouter/modifier/supprimer.

voici la page qui envoi les données vers la page contenant l'UPDATE:
<?php
try
{
$bdd= new PDO('mysql:host=localhost;dbname=jeux_video_bdd', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}
echo'<form method="GET" name="f2" action="ModifDonneesok.php">';
$sql="SELECT ID,nom,possesseur,console,prix,nbre_joueurs_max,commentaires FROM jeux_video WHERE ID=".$_GET["ID"];
$reponse = $bdd->query($sql) or die (print_r($bdd->errorInfo()));
$donnees = $reponse->fetch();

echo '<fieldset><legend>Modifier les valeurs du jeu '.$donnees['ID'].'</legend>';
echo '<input type="hidden" name="ID" value="'.$donnees['ID'].'"/>';
echo 'nom :<input type=text name="nom" value="'.$donnees['nom'].'"/><br/>';
echo 'possesseur :<input type=text name="possesseur" value="'.$donnees['possesseur'].'"/><br/>';
echo 'console :<input type=text name="console" value="'.$donnees['console'].'"/><br/>';
echo 'prix :<input type=text name="prix" value="'.$donnees['prix'].'"/><br/>';
echo 'nombre de joueurs max :<input type=text name="nbre_joueurs_max" value="'.$donnees['nbre_joueurs_max'].'"/><br/>';
echo 'commentaires :<textarea name="commentaire"name="commentaires" cols="25" rows="7">'.$donnees['commentaires'].'</textarea>';
echo '</fieldset>';

echo"<br/><input type='submit' name='modif' value='Modifier'/></form><br/>";
?>


et la page UPDATE :
<?php
try
{
$bdd= new PDO('mysql:host=localhost;dbname=jeux_video_bdd', 'root', '');
}
catch (Exception $e)
{
die('Erreur : ' . $e->getMessage());
}

$req= $bdd->prepares('UPDATE jeux_video SET(nom = :nom, possesseur = :possesseur, console = :console, prix = :prix, nbre_joueurs_max = :nbre_joueurs_max, commentaires = :commentaires) WHERE ID = :ID' );
$req->execute(array(
'ID' => $_GET['ID'],
'nom'=> $_GET['nom'],
'possesseur' => $_GET['possesseur'],
'console'=> $_GET['console'],
'prix' => $_GET['prix'],
'nbre_joueurs_max'=> $_GET['nbre_joueurs_max'],
'commentaires' =>$_GET['commentaires']));

echo "Le jeu a bien été modifié";
?>

en faisant un print_r($_GET) je récupère très bien les données, se doit etre une erreur de syntaxe je pense.
A voir également:

2 réponses

Utilisateur anonyme
25 sept. 2012 à 23:30
Bonjour

Je n'ai as tout regardé en détail, mais c'est $req= $bdd->prepare et non pas $req= $bdd->prepares
Et pourquoi dans le formulaire y a-t-il deux name à ton textarea
<textarea name="commentaire"name="commentaires" ?
1
logique Messages postés 92 Date d'inscription samedi 18 août 2012 Statut Membre Dernière intervention 4 avril 2013 3
26 sept. 2012 à 14:45
Effectivement, je m'en suis rendu compte cette après midi en revoyant le code. Merci tout de même ! +1
0