從不存在的表格中進行選擇時,如何避免錯誤(或用有意義的註釋替換錯誤)?從不存在的表格中進行選擇時避免錯誤
我在網頁上有兩個框。用戶在第一個中指定一個表名,我運行一個基於該表名的查詢,並使用該查詢的結果填充第二個[下拉框](使用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和取代了
感謝
在1條SQL語句中做這件事的問題是,當MySQL解析SQL時,它將檢查現有的表 - 這就是你想要得到的結果。你最好先做'你的信息模式中存在的檢查表',然後只發現第二個SQL。輕鬆完成在PHP中。 –
@Nigel Ren ......好的......謝謝......看起來這是唯一的選擇...... –