dqxafj6830 2014-10-28 14:42 采纳率: 0%
浏览 28

if语句执行错误的部分

When I delete a record from table, I have 8 columns in the table and if more than 8 is entered it must be showed that nothing was deleted. However every number that I give, I get the same response "deleted successfully". This is my code:

 $query = "DELETE FROM `order` WHERE orderId = '$_POST[id]'" ;
 $result = mysql_query($query);
 if(! $result )
 {
   echo ("$_POST[id] not deleted !<a href='deleteorder.php'>Back</a>"); 
 }
 else
 {
    echo ("$_POST[id] deleted succesfully! <a href='deleteorder.php'>Back</a>");
 }
  • 写回答

3条回答 默认 最新

  • doujianwan7570 2014-10-28 14:46
    关注

    $result will be a valid result, even when your query won't affect any rows. Use mysql_affected_rows() to check if you deleted anything.

    $result = mysql_query($query);
    if( mysql_affected_rows() == 0 )
    {
      echo ("$_POST[id] not deleted !<a href='deleteorder.php'>Back</a>"); 
    }
    else
    {
       echo ("$_POST[id] deleted succesfully! <a href='deleteorder.php'>Back</a>");
    }
    

    side note: the mysql_* functions are deprecated. Don't use them to write new code, especially when you are learning. Use mysqli_*or PDO instead.

    评论

报告相同问题?