Salve,
ho la seguente query:
Codice PHP:
$hotelearch = mysqli_query($conn2, "CREATE OR REPLACE VIEW prezzi AS
SELECT h.hotel_id, h.hotel_name, h.hotel_stars, h.hotel_state, h.hotel_city, h.hotel_address, h.hotel_zipcode, h.longitud, h.latitud, h.hotel_desc, camere.id_camera, promo.promo_sconto,camere.numero_camere-COALESCE(booking_check_avilability.total_room+booking_check_avilability.blocked_inventory,0) AS disponibilità,COALESCE(hotel_prezzo_stagione.prezzo_stagione,hotel_prezzo_camera.prezzo_camera)-(COALESCE(hotel_prezzo_stagione.prezzo_stagione,hotel_prezzo_camera.prezzo_camera)*round(COALESCE(promo.promo_sconto,0)/100.0,2)) AS prezzoscontato,COALESCE(hotel_prezzo_stagione.prezzo_stagione,hotel_prezzo_camera.prezzo_camera)*round(COALESCE(promo.promo_sconto,0)/100.0,2) AS scontoineuro,COALESCE(hotel_prezzo_stagione.prezzo_stagione,hotel_prezzo_camera.prezzo_camera) AS prezzodascontare FROM hotels h
LEFT JOIN hotel_prezzo_camera ON (hotel_prezzo_camera.numero_ospiti='$guestsroommayor')
LEFT JOIN hotel_prezzo_stagione ON (hotel_prezzo_camera.id_camera=hotel_prezzo_stagione.id_camera)
AND (prezzo_dal>='$checkin') AND (prezzo_al<='$checkout') AND (hotel_prezzo_stagione.numero_ospiti='$guestsroommayor')
LEFT JOIN promo ON (hotel_prezzo_camera.id_camera=promo.id_camera)
AND (promo_dal>='$checkin') AND (promo_al<='$checkout') AND (promo.numero_ospiti='$guestsroommayor')
LEFT JOIN booking_check_avilabilityON (hotel_prezzo_camera.id_camera = booking_check_avilability.room_type_id)AND (booking_check_avilability.check_in_date >= '$checkin') AND (booking_check_avilability.check_out_date <= '$checkout')
LEFT JOIN camere ON (hotel_prezzo_camera.id_camera=camere.id_camera) AND (camere.numero_ospiti >= '$guestsroommayor')WHERE h.hotel_city = '$destinazione' AND h.hotel_id = camere.hotel_idAND camere.numero_camere-COALESCE(booking_check_avilability.total_room+booking_check_avilability.blocked_inventory,0) >= '$camere';
SELECT a.hotel_id, a.hotel_name, a.hotel_stars, a.hotel_state, a.hotel_city, a.hotel_address, a.hotel_zipcode, a.longitud, a.latitud, a.hotel_desc, a.id_camera, a.disponibilità, a.prezzodascontare, a.prezzoscontato, a.scontoineuro, COALESCE(a.promo_sconto,0) AS sconto FROM prezzi a
JOIN (SELECT hotel_id, MIN(prezzoscontato) AS minimo FROM prezzi GROUP BY hotel_id) b ON (a.hotel_id = b.hotel_id) AND (a.prezzoscontato = b.minimo)");
var_dump($hotelearch);
il var_dump mi restituisce bool(false), quindi ho controllato le variabili, o aggiunto
or die(mysqli_error($conn2)) e mi restituisce il seguente errore:
codice:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SELECT a.hotel_id, a.hotel_name, a.hotel_stars, a.hotel_state, a.hotel_city, a.h' at line 19
quindi provo a stampare la query con print e la copio su phpmyadmin e funziona senza errori.
Qualche idea?