MySQLのINSERT INTOを使用してテーブルにデータを挿入しています。私はユーザー名や電子メールのようないくつかのユニークなフィールドを持っています。私はデータを挿入したいのですが、一意のフィールドが既に使用されている場合(つまり、既存のユーザー名を使用しようとしているとします)、アクションを実行します。MySQL:INSERT INTOで一意のフィールドが既に使用されている場合のアクションの実行方法
ページをリダイレクトする、またはセッションを設定します。現時点では、私のコードは挿入されたように動作しますが、フィールドが一意なので明らかに何もしません。私は下のコードを試しましたが、私は運がありません。
// Add the data to the table 'users'
mysql_query("INSERT INTO users
(username, password, email, dob, gender) VALUES('$username', '$cleansedPassword', '$email', '$dob', '$gender') ")
or header('Location: index.php') ;
header('Location: SignUp.php') ;
私はこのコードをどのように使っていますか? ; (mysql_affected_rows)== 0 {セッション開始}? –
コードを確認 –
制約がエラーを生成し、関数が0ではなく-1を返す場合、クエリはFAILとなるため、これは間違っています。適切な方法は、影響を受けた行をチェックするのではなく、クエリが成功するかどうかをチェックすることです。 –