2013-08-17 63 views
0

我想做一个SQL更新。如何检查记录是否已更新?

当我试图更新它时,我收到消息Updated! ($ 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

你看到$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.'; 
    } 
} 
相关问题