私はユーザー管理システムを作成しました。私は、電子メールアドレスがすでにデータベースに存在するかどうかをPHPスクリプトが確認するようにします。ユーザーデータを更新できます。私は正しい電子メール形式を確認できます。スクリプトの中で動作しない部分は、電子メールがすでに使用されているかどうかを確認する部分です。ここでは動作しない部分がある:電子メールがデータベースに存在するかどうかの確認に問題がある
if($_POST['email'] !=$_POST['email'])
{
$query_email = "
SELECT
from users
where
email = :email
";
$query_goes = array(
':email' => $_POST['email']
);
try
{
$stmt = $db->prepare($query_email);
$result = $stmt->execute($query_goes);
}
catch (PDOException $ex)
{
die("Failed to run query: " . $ex->getMessage());
}
$row = $stmt->fetch();
if($row)
{
die("Email already in use...");
}
それがスロー
エラー:痛い、クエリを実行するために失敗しました:SQLSTATE [23000]:整合性制約違反を:1062 Duplicataデュ・チャンピオン「[email protected]」がラを注ぎますclef 'email'
あなたの質問は間違っています。何かを選択する必要があります。 A列または '*' –
私はクエリを修正しました。私はそれを逃したとは信じられない。重複するエントリを避けるにはどうしたらいいですか?上記のこのコードは、管理者がユーザーのメールを変更した場合にのみ実行したいと考えています。変更がなければ、スキップされます。 – Grus