-
Tu código es vulnerable a la inyección SQL. Tú de verdad debería usar declaraciones preparadas , en el que pasa sus variables como parámetros que no se evalúan para SQL. Si no sabe de qué estoy hablando o cómo solucionarlo, lea la historia de Bobby Tables .
-
Deje de escribir código nuevo con la antigua extensión MySQL:ya no se mantiene y la comunidad ha comenzado el proceso de desaprobación . En su lugar, debe usar el mejorado MySQLi extensión o el PDO capa de abstracción.
-
Más información sobre Uniones SQL .
-
Tú de verdad debe esforzarse por cambiar su esquema para tener:
-
una clave externa de destino en la tabla de hoteles (si un hotel está asociado con no más de un destino); o
ALTER TABLE sirev_Hotels ADD COLUMN hoDestination INT, ADD FOREIGN KEY hoDestination REFERENCES sirev_Dests (deDestCode)
-
una tabla de relaciones destino-hotel (si un hotel se puede asociar con múltiples destinos).
CREATE TABLE sirev_DestinationHotels ( dehoDestination INT, dehoHotel INT, FOREIGN KEY dehoDestination REFERENCES sirev_Dests (deDestCode), FOREIGN KEY dehoHotel REFERENCES sirev_Hotels (hoCode) )
-
-
Si eso no es posible, puede usar
FIND_IN_SET() funcionar como un criterio de unión:SELECT hoCode, hoName FROM sirev_Hotels JOIN sirev_Dests ON FIND_IN_SET(sirev_Hotels.hoCode, sirev_Dests.deHotels) WHERE sirev_Dests.deDestName = ?
-
Habiendo unido las tablas y obtenido el
hoCode
yhoName
de todos los hoteles en su destino deseado, puede recorrer el conjunto de resultados generando, aplicando
htmlentities()
según corresponda.