2017-06-14 30 views
0

從不存在的表格中進行選擇時,如何避免錯誤(或用有意義的註釋替換錯誤)?從不存在的表格中進行選擇時避免錯誤

我在網頁上有兩個框。用戶在第一個中指定一個表名,我運行一個基於該表名的查詢,並使用該查詢的結果填充第二個[下拉框](使用javascript)。

在用戶指定一個不存在的表之前,所有的工作都很好。查詢失敗,並且[下拉]框中填充了一個'醜陋'錯誤。我寧願它填充'表不存在'。

因爲函數[php]代碼用於很多目的,所以不能修改,我只能在其中運行'簡單'查詢。我無法使用存儲過程。

我已經嘗試了許多方法來創造這種效果,但沒有成功。爲了說明這一點,我在尋找的東西有以下邏輯: -

SELECT IF 

(SELECT COUNT(TABLE_NAME) FROM information_schema.TABLES WHERE TABLE_NAME = 'table_xxxxx') = 0 

THEN 'Table Not Found' 

ELSE 

(SELECT id, name FROM table_xxxxx WHERE condition blah blah) 

END 

其中由用戶指定table_xxxxx和取代了

感謝

+0

在1條SQL語句中做這件事的問題是,當MySQL解析SQL時,它將檢查現有的表 - 這就是你想要得到的結果。你最好先做'你的信息模式中存在的檢查表',然後只發現第二個SQL。輕鬆完成在PHP中。 –

+0

@Nigel Ren ......好的......謝謝......看起來這是唯一的選擇...... –

回答

0

可能是你可以使用的try ... catch阻止消除「醜陋」錯誤並顯示「良好」(或「壞」)錯誤。

+0

感謝Ivan ......因爲你和Nigel Ren ......看起來像在PHP中處理它是唯一的選擇。 ... –