2016-09-23 116 views
1

同時更新我的​​一些SQL查詢我遇到了一個我不知道如何轉換爲PDO語句的問題。將sql查詢寫爲PDO語句

$header = $db_handle->runQuery(" 
     SELECT event_name,location,subject,details, $user_table.user_login AS Received_From,event_start_time,event_end_time, 
      CASE WHEN status = '1' THEN 'Accepted' 
        WHEN status = '2' THEN 'Cancelled' 
        ELSE 'Pending' END as status,datetime AS Invite_Date,meeting_date 
      FROM $event_table 
     WHERE user_id = $user_ID 
"); 

我的主要問題是與ASCASE WHEN THEN語句。

我到目前爲止有:

$stmt = $dbHandle->prepare(
      " 
      SELECT event_name, subject, details, location, meeting_date, event_start_time, event_end_time 
      FROM wp_request_event 
      WHERE sender_id = ? 
      "); 
    $stmt->execute([$user_ID]); 
    $header = $stmt->fetchAll(); 

任何人的任何幫助或指針?

+0

標識符如表/列名應被列入白名單,而不能被綁定。你只能綁定'$ userID'。 – PeeHaa

+0

選項1.按原樣檢索狀態並將視圖圖層中的值轉換爲描述。 – Kwebble

+0

選項2:將狀態列更改爲枚舉,然後執行選項1. – Kwebble

回答

0

ASCASE WHEN THEN聲明與PDO完全不相關。你也可以保留你的PDO聲明。

唯一的問題,因爲它是在評論中指出,是一個表名,我希望你可以把查詢作爲是,不將其存儲在一個變量

+0

他仍然可以將表保存在變量中。只需在默認的SQL中進行連接即可。 – Xatenev