0

成功插入信息后,它会显示错误消息并说它是主键的重复条目...我不知道为什么!

<?
$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

4 回答 4

6

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

于 2013-05-28T01:58:25.000 回答
2

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

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

这样写,希望能成功。

于 2013-05-28T01:59:18.940 回答
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();
?>

祝你好运,让我知道结果。

于 2014-09-25T01:42:50.007 回答
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>"];
}
于 2017-04-25T12:53:12.733 回答