簡體   English   中英

PHP 的 SQL 語句數組

[英]PHP array of SQL statements

我正在嘗試將 switch 語句重構為集合。 switch 語句根據 switch 條件選擇要運行的正確 SQL 查詢。

查詢在 switch 語句中都有串聯,這在類中的數組中不起作用。 這是一個類似於我正在處理的示例查詢:

"select qqqq,wwww,eeee,rrrr,tttt, 'yyyy' as uuuu from " . CONSTANT . ".aaaa as ssss inner join ' . CONSTANT2 . '.ddddd .... etc.

有什么建議?

編輯

這是接近實際代碼的東西。 我對隱私做了一些更改:

 <?php

命名空間集合;

類 ScheduleSQL {

private $sql;

public function __construct($plant)
{

    $sql = [
    'fgfghh' => "select fdgsgdfg, sgfdfgfg, rotary_priority,sfgfgfddg,sgfsgf, JB_ULT_CUST,jbr_status, jb_cust_want_date, routing_done, jb_date_need, js_time_ship, js_ship_via, jb_job_desc, rot.job_nbr, rot.job_plt, rot.job_type, sdfgdfgdf, js_ship_to, js_shipto_name, js_state, js_city, jbr_created as cvbvbv,xbvbvb, xbvbvb,xvbvbbcvb, vbvbvbas job_class, ruling_completed,scheduled_rule_date, converter, scenario_id, scenario_subdomain, transfer_type,transfer_job, jb_slope, jb_inch
                    from ' . DB_RASTER_LIB . 'jbraster as rot
                    inner join  ' . DB_STR_LIB . '.sessions_and_jobs as str
                        on rot.job_type = str.job_type and str.jb_job = rot.job_nbr and cgc.jb_plt = rot.job_plt
                    inner join ' . DB_RASTER_LIB . '.rot_job_sp as rot_sp
                        on rot_sp.jb_job = str.jb_job and rot_sp.jb_plt = str.jb_plt and rot_sp.job_type = rot.job_type
                    left outer join ' . DB_RASTER_LIB . '.job_data as rot_jd
                        on rot_jd.job_nbr = str.jb_job and rot_jd.job_plt = str.jb_plt and rot_jd.job_type = rot.job_type
                    inner join ' . DB_STR_LIB . '.jobshp as shp
                        on str.jb_job = shp.js_job and str.jb_plt = shp.js_plt and shp.job_type = rot.job_type and shp.js_primary = 1
                    where rot.job_plt = $plant and rot.job_type <> A and (jbr_status is null or jbr_status<>99)
                    order by jb_date_need asc"
];  
} 

public function getSQL($type)
{
    return $this->sql[$type];
}

}

我發現問題在於如何將變量 $plant 拉入查詢字符串中。

將它包含在數組之外的雙引號中 - 在 switch 語句的原始上下文中。 但是,當我這樣做時拉入數組時,變量必須在雙引號之外。

IE

"query statement parts".$string."other query string parts"

感謝所有回復的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM