私はワードプレスでSQLインナージョインの構文を書くのに問題がある、このロジックは間違いなく動作するはずです、私はphpmyadminでこれを試してみました、それはうまく動作
SELECT booking_calendars.cal_name
FROM booking_calendars
INNER JOIN booking_reservation
ON booking_calendars.id = booking_reservations.calendar_id
WHERE status LIKE 'pending'
しかし、それはワードプレスではありません
$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'");
その後
echo "<h2>Pending Reservation: </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 Pending Reservation</label><br>";
}
私は$pending_reservations
をvar_dumpedし、それはwordpressでarray(0) { }
を返します
あなたの時間と@czerspalaceのおかげで私は二重引用符でクエリを始めて、それから一重引用符でそれを分離しました、そしてエコー出力を見た後私はFrom
とtable name
の間にスペースがない
これが正しい方法です
$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"');