SEO対策

【対処法】WordPress データベースエラー: [Table ‘xxxxxx’ doesn’t exist]

218339-P106FT-646

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 '%製品名(検索キーワード)%'"

WordPressでデータをDBに保持して使う方法

※テーブル名にプレフィックス” wp_ “を付ける必要はありません。WordPressでデータをDBに保持して使う方法

当時は動いたんですが、急に動かなくなりました。

対処法

「wp_」を付けてあげれば動作するようになりました。

▼変更前

$wpdb->products

▼変更後

$wpdb->wp_products

以上で解決ですが、WordPressの仕様変更だったのでしょうか。