MySQLデータベースを使うときに表示される「Table ‘Table1’ doesn’t exist」というエラーメッセージは、直訳するとテーブルTable1が存在しないという意味です。
原因としてSQLの入力ミスも考えられますが、よくあるのが、Windowsで作成したPHPスクリプトをLinuxのレンタルサーバーにアップロードするケースです。
一般的にはWindowsではテーブル名の大文字と小文字を区別せず、Linuxでは区別されるため、table1という名前のテーブルに「SELECT * FROM Table1」というSQLを実行すると、
- Windows — うまくいく
- Linux — 「Table ‘Table1’ doesn’t exist」エラーになる
という違いが出ます。
「いつも使っているWindowsで作成したPHPスクリプトはうまく動いていたのに、レンタルサーバーにアップロードしたら動かなくなった」
よくあるトラブルです。
レンタルサーバーの不具合というより、こうした環境の違いが典型的な原因です。
対策として、テーブル名は大文字と小文字を統一(「すべて小文字に」など)しておきましょう。
または、作成したテーブル名の大文字と小文字の違いを含めて一致するSQLに修正しましょう。