2016-09-23 14 views
1

としてSQLクエリを書いていますが、私はいくつかのSQLクエリを更新していますが、PDOステートメントに変換する手がかりがありません。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

ASおよびCASE WHEN THENのステートメントは、PDOと全く無関係です。あなたはPDOステートメントでそれらを保持することもできます。それはコメントで指摘されたよう

唯一の問題は、テーブル/カラム名などの変数

+0

テーブルを変数に保存することはできます。デフォルトのSQLと同じように連結します。 – Xatenev

関連する問題