私はウェブサイト用のサインアップシステムを作成しています。 MySQLデータベースには独自のフィールドがあり、ユーザーは同じ電子メール、ユーザー名、または電話番号で複数のアカウントを作成することはできません。データが複製されると、mysqli_error()を使用してエラーが返されます。キー 'EMAIL'のエントリ '[email protected]'が重複しています。これにはエラーコード1062があります。次に、ユーザーに別のメールアドレス、ユーザー名、または電話番号を入力して返信します。この場合の列のKEYが必要です。「EMAIL」は、エラーを返信する際にこれを行う方法があります。 お礼をPHP MySQLエラーからカラムキーを取得する方法はありますか
1
A
答えて
0
あなたは、このように挿入する前にチェッククエリを取得する必要があります:
SELECT * FROM TABLE WHERE email = '$email' OR phone = '$phone' OR username = '$username'
その後、あなたは簡単なチェックを行い、例外/エラーをスローすることができます。
0
検証ルールを追加する必要があります。データベースに保存する前に、一意性に関する電子メール、電話、およびユーザー名を確認してください。
select * from users where email = ?
select * from users where phone = ?
行が存在する場合 - ユーザーにメッセージを書き込みます。それ以外の場合は新しい行を作成します。
また、電話とユーザー名にはユニークインデックスが必要です。遅い照会を避けるために大きなテーブル(100k +行)が必要な場合は必要です。
0
あなたは検証ルールを追加する必要があります。データベースに保存する前に、一意にメール、電話とユーザ名をご確認ください。
select * from users where email = ?
select * from users where phone = ?
行が存在する場合 - ユーザーにメッセージを書き込みます。それ以外の場合は新しい行を作成します。
また、電話とユーザー名にはユニークインデックスが必要です。遅い照会を避けるために大きなテーブル(100k +行)が必要な場合は必要です。
+2
これは以下の答えと全く同じです。 – Jer
関連する問題
- 1. docファイルからコンテンツを取得する方法はありますか?
- 2. jsonオブジェクトから情報を取得する方法、属性を取得する方法はありますか?
- 3. Facebookから上位50ページを取得する方法はありますか?
- 4. MySQLではビットフィールドから1ビット(またはブール値)を取得する方法はありmysqlの
- 5. PHPでhtmlコンテンツ/値を取得する方法はありますか?
- 6. HTMLのPHPコードでデータを取得する方法はありますか
- 7. [facebook app]タブからuser_idを取得する方法はありますか?
- 8. NSURLCacheからイメージを取得する方法はありますか?
- 9. ドメインサービスから、現在のURLを取得する方法はありますか?
- 10. スタックの先頭からフラグメントを取得する方法はありますか?
- 11. javascriptからasp.net aspxページ名を取得する方法はありますか?
- 12. 木場:コマンドラインからダッシュボードを取得する方法はありますか?
- 13. 編集コントロールからテキストを取得する方法はありますか?
- 14. Internet Explorerからピクセルデータを取得する方法はありますか?
- 15. Asposeセルのセルからワークシートを取得する方法はありますか?
- 16. Angular2には、ルータからルートリストを取得する方法がありますか?
- 17. Androidのinputstreamオブジェクトからヘッダーを取得する方法はありますか?
- 18. SQLite ManagerからJTextFieldにデータを取得する方法はありますか?
- 19. mysqlクエリでwhere句からエイリアス値を取得する方法はありますか?
- 20. MySQLテーブルからActiveRecord経由でランダムなレコードを取得する方法はありますか? Railsアプリケーションで
- 21. mySqlテーブルの指定されたフィールドのみからデータを取得する方法はありますか?
- 22. MySQLの副選択からフィールド=>値のペアを取得する方法はありますか?
- 23. $ .ajaxのデフォルトオブジェクトを取得する方法はありますか
- 24. iPhoneアプリレコードを取得する方法はありますか
- 25. sfDoctrineGuardPluginでIDを取得する方法はありますか?
- 26. ビットマップのストレージサイズを取得する方法はありますか?
- 27. @RequestParamのBindingResultを取得する方法はありますか?
- 28. ShareKit - SHKFacebook:authorization_tokenを取得する方法はありますか?
- 29. イベントのデリゲートを取得する方法はありますか
- 30. outerHtmlを取得する方法はありますか?
廃止予定の機能を使用しないでください。 – rray
mysqli_error()関数を削除してください(私のヒント:これはデバッグにのみ使用し、公開では使用しません)。このメッセージは攻撃者にあなたのシステムが脆弱であることを知らせます。このエラーは、**電子メールを**プライマリキー**として使用することによって発生しました。.. – Jer
"select *"私は絶対に私を狂わせます。絶対に使用しないでください。これは怠け者であり、特にワイドテーブルで必要以上に多くのデータを返すだけでなく、問題を引き起こします。 –