簡単な入力があり、MySQL のサポートが必要です。
送信ボタンをクリックすると、PHP は行が既に存在するかどうかを確認し、存在しない場合にのみ新しい行を挿入する必要があります。
そのINSERT
部分は知っていますが、行が既に存在するかどうかを確認する方法がわかりません。
INSERT IGNORE
既に存在する場合は何もしないか、ON DUPLICATE KEY UPDATE
挿入の試行時にフィールドを更新するために使用します。
編集
存在するかどうかを確認する場合は、最初に SELECT を実行しSELECT * FROM TABLE WHERE ...
て行をカウントSELECT COUNT(*) FROM TABLE WHERE ...
するか、カウントが 0 より大きいかどうかを確認します。存在する場合は、ユーザーにメッセージを送信します。そうでない場合は、先に進んで挿入してください。
$result = mysqli_query($con,"SELECT email FROM user WHERE email='".$email."'");
$count=mysqli_num_rows($result);
if($count==0) {
$sql="INSERT INTO user (email)VALUES('".$email."')";
if (!mysqli_query($con,$sql))
{
die('Error: ' . mysqli_error($con));
}
header('Location:login.php');
}
else
{
echo 'already exist';
}
これを試してください
エントリが既に存在するかどうかを確認する必要はなく、単に phpmyadmin とその特定のテーブルに移動し、そのエントリに一意に設定され、それが設定されています。