WordPressでデータベースを使って何かをしたい場合は「wpdb」を使うと便利なことは以前勉強したんですが、SELECT文などのSQLクエリを実行して、返された行数を簡単に取得する方法があります。クラス変数「$num_rows」を使う方法です。
クラス変数「$num_rows」を使って行数を取得
$sql = $wpdb->get_results(SQLクエリ); //クエリを実行 $num = $wpdb->num_rows; //最後に実行したクエリ「$sql」の行数を取得
上記の感じで取得できます。MySQLのCOUNT関数を使っても取得できますが、せっかくWordPressには便利なクラス変数が用意されているので、私はよく使っています。クラス変数は他にもあるので、詳細はCodexをご参考ください。
「$num_rows」を使うときの注意点
Codexにも書いてありますが「最後に実行したクエリに対して」結果を取得します。
最後に実行したクエリの行数を取得
$sql_A = $wpdb->get_results(SQLクエリA); $sql_B = $wpdb->get_results(SQLクエリB); $num = $wpdb->num_rows; //最後に実行したクエリ「$sql_B」の行数を取得
というわけで、上の例では最後に実行した「$sql_B」に対して行数を取得できます。これは、覚えておくといいですね。
このページを共有する