我正在尝试进行SQL更新。
当我尝试更新它时,我收到消息已更新! ($ action_succeed)但它没有在数据库中更新......
知道什么是错的吗?
我的代码是......
<form action="title.php" method="post" autocomplete="off">
Article ID<input type="text" name="edit_article_id" />
New Title<input type="text" name="edit_article_title" />
<input type="submit" value="OK" /><br /><br />
</form>
if (isset($_POST['edit_article_id'], $_POST['edit_article_title'])) {
$id = $_POST['edit_article_id'];
$title = ($_POST['edit_article_title']);
if (empty($id) or empty($title)) {
$error_failed = 'Failed, please fill in all of the fields';
} else {
$query = $db->prepare('UPDATE articles (article_title) VALUES (?) WHERE (article_id) VALUES (?)');
$query->bindValue(1, $title);
$query->bindValue(2, $id);
$action_succeed = 'Updated!';
$query->execute();
}
}
答案 0 :(得分:1)
您看到$action_succeed
,因为您在查询甚至尝试之前设置了它,无论其成功与否。
失败主要是由于SQL语法。
if (isset($_POST['edit_article_id'], $_POST['edit_article_title'])) {
$id = $_POST['edit_article_id'];
$title = ($_POST['edit_article_title']);
if (empty($id) or empty($title)) {
$error_failed = 'Failed, please fill in all of the fields';
} else {
$query = $db->prepare('UPDATE articles set article_title = ? WHERE article_id = ?');
$query->bindValue(1, $title);
$query->bindValue(2, $id);
if ($query->execute())
$action_succeed = 'Updated!';
else
$error_failed = 'Update failed.';
}
}