插入mysql数据库的成功/错误消息

时间:2013-05-28 01:54:54

标签: php mysql

当信息成功插入时,它显示错误消息并说它是主键的重复条目...我无法弄清楚原因!

<?
$email=$_POST['email'];
$pw=$_POST['pw'];

mysql_connect('***','***','***');
@mysql_select_db('***') or die('Unable to select database');

$query = "INSERT INTO test_table VALUES ('','$email','$pw')";
mysql_query($query) or die(mysql_error());

if(mysql_query($query))
{
    echo 'success';
}
else
{
    echo 'failure' .mysql_error();
}

mysql_close();
?>

4 个答案:

答案 0 :(得分:6)

您正在执行两次查询:首先是mysql_query($query) or die(mysql_error());,其次是if(mysql_query($query))。所以第二次查询执行记录已经存在,因此插入失败。

答案 1 :(得分:2)

您正在执行两次相同的查询。

$query_result = mysql_query($query) or die(mysql_error());
if ($query_result) {
    echo 'success';
} else {
    echo 'failure' . mysql_error();
}

这样写,希望它能奏效。

答案 2 :(得分:1)

只需从您的php脚本中删除此代码即可。

if(mysql_query($query))
{
    echo 'success';
}
else
{
    echo 'failure' .mysql_error();
}

一次两次运行错误。您还可以使用mysql_affected_rows()确保数据在数据库服务器中执行。返回字符串类型值。

<?
$email=$_POST['email'];
$pw=$_POST['pw'];

mysql_connect('***','***','***');
@mysql_select_db('***') or die('Unable to select database');

$query = "INSERT INTO test_table VALUES ('','$email','$pw')";
if(mysql_query($query))
{
    echo 'Data executed : '.mysql_affected_rows();
}
else
{
    echo 'failure' .mysql_error();
}
mysql_close();
?>
祝你好运,让我知道结果。

答案 3 :(得分:0)

$email=$_POST['email'];
$pw=$_POST['pw'];

 $alerts = array();

if (trim($_POST['email']) == '') {
   $alerts[] = "<div class='alert alert-danger' role='alert'> Enter your Email! </div>"; }
if (trim($_POST['pw']) == '') {
   $alerts[] = "<div class='alert alert-danger' role='alert'> Enter your PW! </div>"; }

if (!count($alerts)) {
   $query = "INSERT INTO test_table (email, pw) VALUES ('".$email."', '".$pw."')";
   mysqli_query($this->conn, $query) or die (mysqli_connect_error());
   return ['success' => true];
} else {
   return ['success' => false, 'alert_m' => implode($alerts)."<br>"];
}