WordPress データベースエラー: [Table ‘xxxxx’ doesn’t exist]
が表示されてしまい、原因と対処法がわかったのでご紹介します。
今回の原因
今回の原因は「テーブル名の指定が正しくなかった」こと
※ただし、1ヶ月前までは動いていたので正しかった(?)
「wp_products」というデータベース名の、WordPressと接続してるDBから情報を取得していました。
$wpdb->products
これまでテーブル名の「wp_」が不要だったはずですが、急に「wp_」を付けなければいけなくなっていました。
データベースから情報を取得する時に、下記を参考にして以前PHPコードを書きました。
// SQL $sql = $wpdb->prepare("SELECT p.name, p.price FROM $wpdb->products p WHERE p.name LIKE %s", '%'.$product_name.'%' ); # -> "SELECT p.name, p.price FROM wp_products p WHERE p.name LIKE '%製品名(検索キーワード)%'"
※テーブル名にプレフィックス” wp_ “を付ける必要はありません。WordPressでデータをDBに保持して使う方法
当時は動いたんですが、急に動かなくなりました。
対処法
「wp_」を付けてあげれば動作するようになりました。
▼変更前
$wpdb->products
▼変更後
$wpdb->wp_products
以上で解決ですが、WordPressの仕様変更だったのでしょうか。
[su_note note_color="#00BFFF" text_color="#ffffff"]
人気の記事
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]
Google検索の変遷から見えてくる「Googleがキュレーション化する日」
[/su_note]