当信息成功插入时,它显示错误消息并说它是主键的重复条目...我无法弄清楚原因!
<?
$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();
?>
答案 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>"];
}