如何检查记录是否更新?

时间:2013-08-17 01:45:51

标签: php mysql

我正在尝试进行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();


            }
        }

1 个答案:

答案 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.';
  }
}