Cómo escribir INNER JOIN en wpdb de WordPress correctamente
17 sept 2015, 20:50:19
Vistas: 14.4K
Votos: 1
Tengo un problema al escribir la sintaxis SQL INNER JOIN en WordPress. Esta lógica debería funcionar, lo probé en phpmyadmin y funciona correctamente
SELECT booking_calendars.cal_name
FROM booking_calendars
INNER JOIN booking_reservation
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE 'pending'
pero no funciona en WordPress
$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'");
y luego
echo "<h2>Reservaciones pendientes: </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>No hay reservaciones pendientes</label><br>";
}
Hice var_dump de $pending_reservations
y devuelve array(0) { }
en WordPress

Mina Ragaie
139
Comentarios
Todas las respuestas a la pregunta
1
0
gracias por tu tiempo y gracias a @czerspalace
Comencé la consulta con comillas dobles y luego la separé con comillas simples y después de ver la salida del echo encontré que no había espacios entre From
y nombre_de_la_tabla
esta es la forma correcta
$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 sept 2015 22:05:06
Preguntas relacionadas
3
respuestas
2
respuestas