讓我解釋一下。存儲過程內部的SQL查詢與從PHP執行的SQL不同嗎?
我使用了大量SELECT一句有多個我的PHP代碼中加入。這是很大的,因爲一些連接從第一表(東西一些值取決於像if table1.column_a=1 then alias_b=table2.column_a, if table1.column_a=2 then alias_b=table3.column_b, ...)
因爲我從我的html
形式發送條件可以動態地改變(有時它可能只是有some_date>='2017/09/01'
,但它可能會變成更復雜的東西像some_date>='2017/09/01'
和(名稱,如J%on
不sec_name='Doe'
)...「)。
我接到讓一個存儲過程此查詢的指導和更多的時間,我需要分析這個我不能找到使這個動態查詢某種方式沒有把它串入存儲過程和接收WHERE條件作爲存儲過程parametter(在存儲過程中,我有財產以後像SET @sql = CONCAT('SELECT ... JOIN ... JOIN... WHERE ',param_condition); PREPARE stmt FROM @sql;...")
我的問題是...這是一樣的發送從sql
從PHP?
如果您需要發送實際的SQL查詢的部分存儲過程,那麼你做錯了什麼(這將是一個痛苦的調試)。如果你有不同的情況,那麼你可以爲這些情況創建不同的存儲過程,並簡單地調用當時相關的那個。或者,根據輸入變量,使程序本身決定要執行的操作。 –
@MagnusEriksson實際上我正在構建我的PHP代碼中的SQL,但正如我所提到的,我收到了一條指令來創建一個存儲過程。我認爲存儲過程和動態查詢是完全不相關的兩件事情。我的PHP模塊的目標是允許用戶以不同的方式查詢信息,這些信息可能適用於使用where clausule內部的一個或多個標準的任何必要條件。歡迎任何其他方法推薦。謝謝。 – FoxEdu
_「我收到了指令」_--來自誰和爲什麼? –