update语句失败,不会产生错误

时间:2012-02-01 16:39:57

标签: php mysql

   if(isset($_POST['admin_email']))
   {
      $conn= mysql_connect("localhost","root","","");
  mysql_select_db("qasite" ,$conn) or die(mysql_error());


 $email=mysql_escape_string($_POST['admin_email']);

   mysql_query(" UPDATE admin_details 
                 SET email='$email'
                 WHERE admin_id=1
            ") or trigger_error(mysql_error(),E_USER_ERROR);

   echo 'Update was successful';
}

显示最后的更新语句,但数据库中不显示任何记录。默认情况下,我将admin id设置为1,并且不进行更新。那是为什么?

2 个答案:

答案 0 :(得分:2)

  

但数据库中没有记录。

您只能对存在的记录使用UPDATE。如果WHERE admin_id = 1没有记录,则查询将不会更新不存在的行。

您可以使用INSERT并使用ON DUPLICATE KEY UPDATE。 (然后电子邮件应该是一个独特的索引)。

答案 1 :(得分:0)

您可以将trigger_error更改为die(mysql_error()),看看它是否有效。