-
Din kod är sårbar för SQL-injektion. Du verkligen bör använda förberedda uttalanden , där du skickar dina variabler som parametrar som inte utvärderas för SQL. Om du inte vet vad jag pratar om, eller hur man fixar det, läs historien om Bobby Tables .
-
Sluta skriva ny kod med det gamla MySQL-tillägget:det underhålls inte längre och communityn har börjat avskrivningsprocess . Istället bör du använda antingen den förbättrade MySQLi tillägget eller PDO abstraktionslager.
-
Läs mer om SQL-anslutningar .
-
Du verkligen bör sträva efter att ändra ditt schema till att ha antingen:
-
en främmande destinationsnyckel i hotelltabellen (om ett hotell inte är associerat med mer än en destination); eller
ALTER TABLE sirev_Hotels ADD COLUMN hoDestination INT, ADD FOREIGN KEY hoDestination REFERENCES sirev_Dests (deDestCode)
-
en tabell över destination-hotell relationer (om ett hotell kan associeras med flera destinationer).
CREATE TABLE sirev_DestinationHotels ( dehoDestination INT, dehoHotel INT, FOREIGN KEY dehoDestination REFERENCES sirev_Dests (deDestCode), FOREIGN KEY dehoHotel REFERENCES sirev_Hotels (hoCode) )
-
-
Om det inte är möjligt kan du använda MySQL:s code>FIND_IN_SET() fungera som ett kopplingskriterium:
SELECT hoCode, hoName FROM sirev_Hotels JOIN sirev_Dests ON FIND_IN_SET(sirev_Hotels.hoCode, sirev_Dests.deHotels) WHERE sirev_Dests.deDestName = ?
-
Efter att ha gått med i tabellerna och fått
hoCode
ochhoName
av alla hotell på din önskade destination kan du gå över resultatuppsättningen som matar ut, med
htmlentities()
som lämpligt.