Web Shakehands
Web Shakehands

Language


wpdb->prepareを使ってワードプレスデータベースから情報を引き出す【プラグイン制作】



データベースから情報を取得する際に、通常のPHPではPDOなどを使用し、データを取得すると思われます。
ではワードプレスの場合にはどうでしょう?

ワードプレスには便利な関数が用意されています。
この$wpdb->prepare関数を使用することで、セキュリティ的にも安全にデータベースとのやりとりを行うことができます。


下記記載させていただきます。

これはデータベースから特定のページIDと日時で検索をし、情報を取得している例です。
IDは15、日時は2019-7-25となります。

まず、global $wpdb;でデータベースクラスを取得します。
$wpdbはWordPressデータベースとやりとりするためにあらかじめインスタンス化されていて、グローバル変数で宣言することで使用することができるようになります。

次にテーブル名を代入します。

詳しくはこちらの記事も参考になります。
https://global-s-h.com/article/ja_article.php?id=27


そして、その後に$wpdb->prepareが入ります。これはセキュリティを考慮しているため、第2引数、第3引数を使って値をプレースホルダーに代入する形をとっています。
今回は$post_idの15という数字が%dとして代入されています。そして、$current_nowである「2019-7-25」が%sに入ることになります。

この代入はお使いのPHPのバージョンにもよりますが、必ず使うようにします。
代入するものがなくても、第2引数、第3引数までのいずれかをあえて使うようにした方がいいと思います。

これを行わないとPHPのバージョンによっては動かないことがあるので注意が必要です。

また、あまり推進されていませんが、下記のように第2引数のダブルクオーテーション内を空にする方法もあります。

$wpdb->prepareに関して詳しくはCodexに書かれています
Codex ページはこちらから

そして、これらの結果を取得するのが、get_resultsです。
今回は$queryに取得した情報を$rowsに代入し、配列で代入されることになります。

get_resultsに関してCodexに書かれています
Codexページはこちらから


ワードプレスデータベースからデータを取得する際には、セキュリティ対策がされているこれらの関数を使用するといいでしょう。



このエントリーをはてなブックマークに追加

今回の記事タイトル

wpdb->prepareを使ってワードプレスデータベースから情報を引き出す【プラグイン制作】

前の記事 Update_optionを使い、配列でデータベースに登録する方法。ワードプレスプラグイン作成


最新 ワードプレスプラグイン制作 記事!

2019-07-25 wpdb->prepareを使ってワードプレスデータベースから情報を引き出す【プラグイン制作】 NEW!


2019-07-23 Update_optionを使い、配列でデータベースに登録する方法。ワードプレスプラグイン作成


2019-07-17 ワードプレスのプラグインからデータベーステーブルを作成する方法


2019-07-13 ワードプレスの日付を扱う時はcurrent_time()を使う!


すべての記事一覧を見る

E-mail を入力するだけで、あなたのHPを作るための
ノウハウメールマガジンを無料でお届けします
E-mail:
  

上部へ