検索フォームからの入力値に基づいてMYSQLデータベースにクエリするPHPドキュメントがあります。私はアプリケーション全体をはるかに使いやすくすると思われる機能を1つ追加するのに苦労している以外は、すべてが完全に機能しています。
フォームからのユーザ入力に基づいてPHPドキュメントのSQLクエリを変更するのが難しい
私のデータベース内にテーブルは、基本的には様々な社会クラブの情報を格納しています。それは彼らの場所、名前、booking_price、alcohol_permittedに関するデータを持っています。私が助けを必要とするビットはalcohol_permittedに関連付けられています。データベースには、1または2が格納されています.2は、アルコールが許可されていることを意味し、1は、そうでないことを意味します。
現在、私のフォームは、次のようになります。
<form>
<label for="alcohol_check">Search clubs where alcohol permitted?</label>
<input type="radio" id="alcohol_check1" value="1" /><label for="radio1">No</label>
<input type="radio" id="alcohol_check2" value="2" /><label for="radio2">Yes</label>
<input type="radio" id="alcohol_check3" value="???" /><label for="radio3">Show both</label>
<label for="club_name">Enter social club name:</label>
<input type="text" id="club_name" name="club_name"/>
</form>
私のPHPは、次のようになります。
$user_alcohol_permitted_selection = $_POST['alcohol_check']; //Value sent using jquery .load()
$user_social_club_name_input = $_POST['name']; //Value sent using jquery .load()
$query="SELECT * FROM social_clubs
WHERE name = $user_social_club_name_input
AND
WHERE alcohol_permitted = $user_alcohol_permitted_selection";
問題は、現時点です、私のクエリはソーシャルクラブを検索するだけですアルコールを提供するか、しないでください。現在、alcohol_permittedフォームから渡された値は1または2です。 ユーザが「both」オプションを選択した場合、アルコールを扱うソーシャルクラブとそうでないクラブを取得するようにクエリを実行するにはどうすればよいですか?私はそれを把握できません!クエリにif文が必要ですか?
これをチェックしていただきありがとうございます。私はこれを非常にうまく説明していない場合は申し訳ありません。
あなたは** [Bobby Tables](http://bobby-tables.com/)について読んで、SQLインジェクションを避けるためにプリペアドステートメントを使い始める必要があります。 – eggyal