$wpdb->get_col() の使い方|説明・引数・注意点

説明

$wpdb->get_col() は、SELECT文を実行し、1列分の値を配列で取得するメソッドです。

基本構文

$wpdb->get_col( string $query = null, int $x = 0 ): array

引数

  • $query:SQL文
  • $x:何列目か

戻り値

値の配列。

使い方(サンプル)

global $wpdb;
$ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} LIMIT 10" );

注意点

  • IDの一覧を取得するときに便利です。

実務での使いどころ

  • 1列の値を、配列として、取得するとき(IDの一覧など)。

よくあるミスと対処

  • 変数を、直接SQLに入れている。$wpdb->prepare() を使う。
  • 結果が、1件もないときは、空の配列。
  • 複数の列が欲しいのに、使っている。1列だけが、取得される。

NG例

$ids = $wpdb->get_col( "SELECT ID FROM {$wpdb->posts} WHERE post_author = $author_id" ); // 変数を直接入れている

OK例

$ids = $wpdb->get_col(
	$wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE post_author = %d AND post_status = 'publish'", $author_id )
);

使い分け早見表

メソッド 取得するもの
$wpdb->get_col() 1列(値の配列)
$wpdb->get_results() 複数行
$wpdb->get_var() 1つの値

関連項目

$wpdb->get_results()、$wpdb->get_var()

公式リファレンス:wpdb::get_col() | Class method | WordPress Developer Resources

コメント

タイトルとURLをコピーしました