Scrivere INNER JOIN in wpdb
17 set 2015, 20:50:19
Visualizzazioni: 14.4K
Voti: 1
Ho un problema nello scrivere la sintassi SQL Inner Join in WordPress, Questa logica dovrebbe funzionare sicuramente, l'ho provata in phpmyadmin e funziona bene
SELECT booking_calendars.cal_name
FROM booking_calendars
INNER JOIN booking_reservation
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE 'pending'
ma in WordPress non funziona
$pending_reservations = $wpdb->get_results("
SELECT booking_calendars.cal_name
FROM'.$wpdb->prefix.'booking_calendars AS booking_calendars
INNER JOIN' . $wpdb->prefix.'booking_reservation AS booking_reservations
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE 'pending'");
e poi
echo "<h2>Prenotazioni in sospeso: </h2><br>";
var_dump( $pending_reservations);
if($pending_reservations>0)
{
foreach ( $pending_reservations as $pending_reservation )
{
echo "<label>". $pending_reservation->cal_name."</label><br>";
}
}else{
echo "<label>Nessuna prenotazione in sospeso</label><br>";
}
Ho fatto var_dump di $pending_reservations
e restituisce array(0) { }
in WordPress

Mina Ragaie
139
Commenti
Tutte le risposte alla domanda
1
0
grazie per il tuo tempo e grazie a @czerspalace
ho iniziato la query con doppie virgolette e poi l'ho separata con apici singoli e dopo aver guardato l'output dell'echo ho scoperto che non c'erano spazi tra From
e nome tabella
questo è il modo corretto
$pending_reservations = $wpdb->get_results('
SELECT booking_calendars.cal_name
FROM '.$wpdb->prefix.'booking_calendars AS booking_calendars
INNER JOIN '. $wpdb->prefix.'booking_reservation AS booking_reservations
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE "pending"');

Mina Ragaie
139
17 set 2015 22:05:06
Domande correlate
1
risposte