2012-02-01 69 views
1
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,并且不发生更新。这是为什么?更新声明失败并且未生成错误

+0

@Dmitri做你的表“admin_details”包含任何数据 – 2012-02-01 16:46:24

+0

有一个要启动的记录? – 2012-02-01 16:46:50

+0

好,一个字段设置为1..and另一个记录是空的缺省值。我更新了2个默认值。它仍然does not工作 – 2012-02-01 16:47:43

回答

2

,但没有记录显示在数据库中。

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

你可以使用INSERT并与ON DUPLICATE KEY UPDATE工作。 (那么电子邮件应该是一个UNIQUE索引)。

+0

好的谢谢。你排序我的问题。它现在有效 – 2012-02-01 16:51:17

0

您可以更改trigger_errordie(mysql_error()),看看它是否效果更好。

+0

它不事关,helk – 2012-02-01 16:45:54

+0

$康恩=的mysql_connect( “localhost” 的 “根”, “”, “”);到$ conn = mysql_connect(“localhost”,“root”,“”)? – 2012-02-01 16:47:43

+0

你检查了PHP日志文件吗? – 2012-02-01 16:50:24