2016-04-15 100 views
0

我有一個特定的問題,我需要做功能。用戶將sttring傳入此函數。字符串是MYSQL查詢,現在,我想改變這個MySQL查詢,因爲這個,如果我得到例如SELECT student.name as person FROM student WHERE student.grade = 1 LIMIT 10現在我需要創建這樣的(SELECT student.name as person FROM student WHERE student.grade = 1 LIMIT 10) WHERE person = "John" LIMIT 5(觀看人在哪裏)。 (和)之間的選擇可以是任何想法,但我之後的條件)只能是聚合函數,限制和條件。有這樣的想法嗎?我需要在PHP中創建它。我希望你能理解我。Mysql從select中選擇行

感謝您的幫助。

+0

讓用戶輸入查詢是一個壞主意。 – Uueerdo

+0

您可以使用分組人員。 –

+0

不是用戶作爲用戶,但我的功能的用戶,在這種情況下,開發人員 – Raiper34

回答

2

正如我在最初的評論說,這是一個非常非常糟糕的主意,但是你可以簡單地這樣做:

SELECT * FROM ([用戶提供查詢])AS theQ WHERE theQ.person =「約翰「 限制5;

將用戶提供的查詢作爲子查詢打包後,幾乎可以像使用表一樣使用它。當然,在這種情況下,如果用戶提供的查詢不包含person字段,則查詢將會出錯。

+0

謝謝,我會嘗試它 – Raiper34