我有一個web應用程序,可以使用表單中的簡單文本區從數據庫運行查詢。我有一個問題:php檢查mysql查詢是否會運行
我需要檢查查詢內存消耗之前它運行(所以它不會崩潰我的服務器)。
有沒有一種方法使用PHP或MySQL來做到這一點?
例如,我有3個表:
新聞(idNews,創建,idMedio,狀態) NewsAreaMain(idNewsAreaMain,idNews,idAreaMain) AreaMain(idAreaMain)
並且有人嘗試了實際上使服務器崩潰的以下查詢:
SELECT DISTINCT News.*
FROM NewsAreaMain, News
WHERE
(
(
NewsAreaMain.idNews=News.idNews
AND News.idNews IN
(
SELECT DISTINCT News.idNews
FROM News, NewsAreaMain
WHERE NewsAreaMain.idNews=News.idNews
AND NewsAreaMain.idAreaMain="1"
)
)
AND idMedio="5"
OR (idMedio="6")
)
AND News.state=1
ORDER BY created DESC
LIMIT 0, 20;
不是我所知道的。確保你相信你的用戶修改你的數據庫。 – 2012-02-19 18:25:05
你想允許執行任意的用戶輸入查詢?這聽起來不是一個好主意。 – 2012-02-19 18:25:16
這聽起來有點可怕,你是否以任何方式清理和限制用戶查詢......或允許他們輸入自由文本sql? – okyanet 2012-02-19 18:25:55