手っ取り早い: INSERT 権限のみを使用して、特定の行が既に存在するかどうかを確認したいと思います。
説明
セキュリティ上の理由から、データベース アカウントを INSERT 権限に制限しました。mysqli_real_escape_string の後に実行する手順が他にもあることは認識していますが、PHP と MySQL の両方の新人である私は、これがインジェクションを阻止するための最善のキャッチオールであると考えました。
送信後、フォームは検証チェックを行い、行の作成を試み、1062 エラーを渡すかキャッチして、ユーザー名が既に存在することを示します。
同じ DB アカウントを使用してプリエンプティブ AJAX 呼び出しを実装したいと考えています。重複をチェックするためにダミーの更新ステートメント (変更を行わない) を発行することを考えましたが、明らかに SELECT 権限がないと失敗します。SELECT right は、私が避けようとしていた主なものです。これは素朴で、これを行う適切な方法は何ですか?