2017-06-14 1 views
0

存在しないテーブルから選択するとき、エラーを回避する(またはエラーを意味のあるコメントに置き換える)にはどうすればよいですか?存在しないテーブルから選択するときにエラーを回避する

ウェブページに2つのボックスがあります。ユーザーは最初にテーブル名を指定し、そのテーブル名に基づいてクエリを実行し、そのクエリの結果を使用して2番目の[ドロップダウン]ボックス(javascriptを使用)を設定します。

すべては、ユーザーが存在しない表を指定するまでうまく機能します。クエリが失敗し、[ドロップダウン]ボックスに「醜い」エラーが表示されます。私はそれが 'テーブルが存在しない'と設定されていることを好むだろう。

関数[php]コードは多くの目的で使用されているため、修正することはできず、単純なクエリしか実行できません。私はストアドプロシージャを使用することはできません。

私はこの効果を成功させるために多くの方法を試しました。説明するために、私は次のロジックで何かを探しています: - table_xxxxxがユーザによって指定されて置換されている

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 

おかげ

+0

1つのSQL文で問題が発生するのは、MySQLがSQLを解析するときに、テーブルが存在するかどうかをチェックすることです。最初に「情報テーブルにチェックテーブルが存在する」方が良いでしょうし、見つかった場合は2番目のSQLだけを実行してください。 PHPで簡単に行えます。 –

+0

@Nelel Ren ... Ok ...ありがとう...それは唯一のオプションだと思われます... –

答えて

0

あなたが試す使用できるかもしれませ...キャッチ'醜い'エラーを排除し、 '良い'(または '悪い')エラーを表示するブロック。

+0

おかげでIvan ...あなたとNigel Renによって... PHPでそれを扱うように見える唯一のオプションです。 ... –

関連する問題