le 17/12/2007 à 18:22
problème UPDATE SET
Bonjour,
J'ai un autre problème sur un code PDO, qui sort de mon livre PHP 5 Avancé, c'est un UPDATE SET. (page, 471, pour ceux qui ont ce livre)
Un coup, il bloc mon serveur "WAMP", un autre coup il m'envoi un message d'erreur :
Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number in H:\www\www.commanderies-net\edit_article_2.php on line 14
Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in H:\www\www.commanderies-net\edit_article_2.php on line 15
Mon code d'édition et mon formulaire de modifications :
Merci de votre aide
Jeff
J'ai un autre problème sur un code PDO, qui sort de mon livre PHP 5 Avancé, c'est un UPDATE SET. (page, 471, pour ceux qui ont ce livre)
Un coup, il bloc mon serveur "WAMP", un autre coup il m'envoi un message d'erreur :
Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number in H:\www\www.commanderies-net\edit_article_2.php on line 14
Warning: PDOStatement::execute() [function.PDOStatement-execute]: SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in H:\www\www.commanderies-net\edit_article_2.php on line 15
<?php
include ('./_require/function_connect.php');
$titre = $_POST['titre'];
$texte = $_POST['texte'];
$id_article = (int) $_POST['id_article'];
$sql = "UPDATE article SET titre=':titre, texte=':texte WHERE id_article = :id_article";
$stmt = $dbh->prepare($sql);
$valeurs = array(':titre'=>$titre, ':texte'=>$texte, ':id_article'=>$id_article);
ligne 14 - $stmt->execute($valeurs);
ligne 15 - $stmt->execute();
$stmt = NULL;
?>
Mon code d'édition et mon formulaire de modifications :
<?php
include ('./_require/function_connect.php');
$id_ar = (int) $_GET['id_article'];
$sql = "SELECT id_article,titre,texte FROM article WHERE id_article =$id_ar ";
$sth = $dbh->query($sql);
$result = $sth->fetchALL();
$row = $result[0];
$titre = $row['titre'];
$texte = $row['texte'];
$jour = substr($date_pud, 8, 2);
$mois = substr($date_pub, 5, 2);
$annee = substr($date_pub, 0, 4);
$date = $jour. '-' .$mois. '-' .$annee;
$dbh = NULL;
?>
<form method="post" action="edit_article_2.php">
<input type="text" name="titre" size="50" value="<?php echo $titre; ?> "/><br />
<textarea name="texte" rows="8" cols="30"><?php echo $texte; ?></textarea><br />
<input type="hidden" name="id_article" value="<?php $id_ar; ?>" />
<input type="submit" value="Modiffier" />
</form>
Merci de votre aide
Jeff