1

手っ取り早い: INSERT 権限のみを使用して、特定の行が既に存在するかどうかを確認したいと思います。

説明
セキュリティ上の理由から、データベース アカウントを INSERT 権限に制限しました。mysqli_real_escape_string の後に実行する手順が他にもあることは認識していますが、PHP と MySQL の両方の新人である私は、これがインジェクションを阻止するための最善のキャッチオールであると考えました。

送信後、フォームは検証チェックを行い、行の作成を試み、1062 エラーを渡すかキャッチして、ユーザー名が既に存在することを示します。

同じ DB アカウントを使用してプリエンプティブ AJAX 呼び出しを実装したいと考えています。重複をチェックするためにダミーの更新ステートメント (変更を行わない) を発行することを考えましたが、明らかに SELECT 権限がないと失敗します。SELECT right は、私が避けようとしていた主なものです。これは素朴で、これを行う適切な方法は何ですか?

4

1 に答える 1

0

INSERTIGNOREINTOテーブルを使用できます

http://bogdan.org.ua/2007/10/18/mysql-insert-if-not-exists-syntax.htmlを参照してください

あなたと非常によく似た質問があります:MySQLに「存在しない場合は挿入する」方法は?

于 2013-03-16T02:42:20.660 に答える