ワードプレスのプログラムでMysqlデータベースのテーブルが存在するか調べる方法のPHPコードをご紹介いたします。


global $wpdbでテーブルプレフィックスを取得して使用する

ワードプレスのテーブル名は、wp-config.phpに設定されているテーブルプレフィックスによって変わってきます。
単純にテーブル名を指定するとテーブルのプレフィックス違いで正しい結果が得られない可能性があります。

この為global $wpdbというワードプレスのデータベース接続情報等が入っているグローバル変数を利用してテーブルプレフィクスを取得の上調べるテーブル名を生成して変数に入れていきます。

global $wpdb;
$table_name = $wpdb->prefix . 'プレフィクス以降のテーブル名';

このテーブル名が存在するか調べるにはSHOW TABLES LIKEというSQL文を使用します。

global $wpdb;
$table_name = $wpdb->prefix . 'mytable';
if($wpdb->get_var("SHOW TABLES LIKE '".$table_name."'") == $table_name) {
    //データベースのテーブルが存在します
}

上記の例では、
$wpdb->prefix . ‘mytable’ プレフィックスがwp_の場合は wp_mytable がSHOW TABLES LIKE SQL文で存在する場合は、そのテーブル名を返してきますので、合致すればテーブルが存在すると判断できるというコードになります。

SHOW TABLES ステートメント

$wpdb->get_var はワードプレスの組み込み関数で、SQL文を実行してその値を取得できる関数になります。

wpdb::get_var() – Method

ご参考になりましたら幸いです。

WordPress ワードプレスの検索やプラグインテーマのPHPコーデイングを経験豊かな専門家が代行いたします。お気軽にご依頼・ご相談お送りください