-
コードはSQLインジェクションに対して脆弱です。 あなたは本当に プリペアドステートメント を使用する必要があります 、SQLで評価されないパラメータとして変数を渡します。私が何について話しているのか、またはそれを修正する方法がわからない場合は、ボビーテーブル 。
-
古いMySQL拡張機能を使用した新しいコードの記述を停止してください。このコードは維持されなくなり、コミュニティは非推奨プロセス 。代わりに、改善されたMySQLi のいずれかを使用する必要があります。 拡張機能または
PDO 抽象化レイヤー。 -
SQL結合> 。
-
あなたは本当に スキーマを次のいずれかに変更するように努める必要があります:
-
ホテルテーブルの宛先外部キー(ホテルが複数の宛先に関連付けられている場合)。または
ALTER TABLE sirev_Hotels ADD COLUMN hoDestination INT, ADD FOREIGN KEY hoDestination REFERENCES sirev_Dests (deDestCode)
-
目的地とホテルの関係の表(ホテルを複数の目的地に関連付けることができる場合)。
CREATE TABLE sirev_DestinationHotels ( dehoDestination INT, dehoHotel INT, FOREIGN KEY dehoDestination REFERENCES sirev_Dests (deDestCode), FOREIGN KEY dehoHotel REFERENCES sirev_Hotels (hoCode) )
-
-
それが不可能な場合は、MySQLの<を使用できます。 code> FIND_IN_SET() 結合基準として機能する:
SELECT hoCode, hoName FROM sirev_Hotels JOIN sirev_Dests ON FIND_IN_SET(sirev_Hotels.hoCode, sirev_Dests.deHotels) WHERE sirev_Dests.deDestName = ?
-
テーブルを結合して
hoCode
を取得した およびhoName
目的の目的地にあるすべてのホテルの中で、結果セットをループしてhtmlentities()
を適用します 必要に応じて。