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

クエリを 2 回実行してmysql_query($query) or die(mysql_error());いますif(mysql_query($query))。そのため、クエリが 2 回目に実行されると、レコードは既に存在するため、挿入は失敗します。

于 2013-05-28T01:58:25.000 に答える
2

同じクエリを 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();
}

一度に2回実行エラーにします。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 に答える