#contents 自分が見やすいようにWordPress Codexから抜粋 *関数 [#ac274ae3] **データベースへ任意のクエリを送信 - query [#w03402ba] #codeprettify{{ $wpdb->query('query') }} |引数 |説明|h |query|実行したいSQL| ''戻り値'' 成功すると、選択された行数、または影響を受けた行数。~ 失敗すると、false **変数の SELECT - get_var [#k15e1c4f] #codeprettify{{ $wpdb->get_var('query',column_offset,row_offset) }} |引数 |説明|h |query |実行したいSQL| |column_offset|必要としている列のオフセット (一つ目は 0)。初期値は 0。| |row_offset |必要としている行のオフセット (一つ目は 0)。初期値は 0。| **行の SELECT - get_row [#scc6cd6c] #codeprettify{{ $wpdb->get_row('query', output_type, row_offset) }} |引数 |説明|h |query |実行したいSQL| |output_type|OBJECT - 結果をオブジェクトとして出力。初期値| |~|ARRAY_A - 結果を連想配列として出力。| |~|ARRAY_N - 結果をインデックス配列として出力。| |row_offset |必要としている行のオフセット (一つ目は 0)。初期値は 0。| **列の SELECT - get_col [#j72a61ac] #codeprettify{{ $wpdb->get_col('query',column_offset) }} |引数 |説明|h |query |実行したいSQL| |column_offset|必要としている列のオフセット (一つ目は 0)。初期値は 0。| **一般的な結果の SELECT - get_results [#p1183364] #codeprettify{{ $wpdb->get_results('query', output_type) }} |引数 |説明|h |query |実行したいSQL| |output_type|OBJECT - 結果をオブジェクトとして出力。| |~|ARRAY_A - 結果を連想配列として出力。| |~|ARRAY_N - 結果をインデックス配列として出力。| **行の INSERT - insert [#tf0d7adb] #codeprettify{{ $wpdb->insert( 'table', array( 'column1' => 'value1', 'column2' => 123 ), array( '%s', '%d' ) ) }} |引数 |説明|h |table || |array(...) || **列の UPDATE - update [#f325d5d9] #codeprettify{{ $wpdb->update( 'table', array( 'column1' => 'value1', 'column2' => 'value2' ), array( 'ID' => 1 ), array( '%s', '%d' ), array( '%d' ) ) }} |引数 |説明|h |table || |array(...) || **SQL インジェクション攻撃からクエリを保護する - prepare [#bdf255ce] #codeprettify{{ $wpdb->prepare( 'query'[, value_parameter, value_parameter ... ] ) }} |引数 |説明|h |query |実行したいSQL| |value_parameter|プレースホルダーに代入する値。すでに SQL エスケープされている値は使えない。| WPMU2.8を見ると、'%s'や"%s"をいったん%sに置換し、その後、'%s'に置換しています。~ なので、その辺を意識していないと、思わぬ置換がされそうな予感がします。 **SQL エラーの表示・非表示 - show_errors,hide_errors,print_error [#sfa65f6b] #codeprettify{{ $wpdb->show_errors() $wpdb->hide_errors() $wpdb->print_error() }} **列情報の取得 - get_col_info [#ef0066fd] #codeprettify{{ $wpdb->get_col_info('type', offset) }} |引数 |説明|h |type |name - カラム名 (初期値)。| |~|table - 列が含まれるテーブル名。| |~|max_length - 列の最長値。| |~|not_null - 列が NULL の値をとれない場合は1。| |~|primary_key - 列がプライマリーキーの場合は1。| |~|unique_key - 列がユニークキーの場合は1。| |~|multiple_key - 列がユニークキーでない場合は1。| |~|numeric - 列が numeric の場合は1。| |~|blob - 列が BLOB の場合は1。| |~|type - 列の type。| |~|unsigned - 列が unsigned の場合は1。| |~|zerofill - 列が zero-filled の場合は1。| |offset |情報を取得するカラムを指定する (0 が最初のカラム)。初期値は -1。| **キャッシュのクリア - flush [#r48ceda5] #codeprettify{{ $wpdb->flush() }} **クラス変数 [#i8a7c0f1] |$show_errors|エラーの echo が有効化されているかどうか。デフォルトは TRUE 。| |$num_queries|実行されたクエリの数。| |$last_query |最後に実行されたクエリ。| |$queries |SAVEQUERIES 定数を TRUE に設定することで (定数の初期値は FALSE)、データベースで実行するクエリおよに停止時間を保存できる。SAVEQUERIES が TRUE の場合、クエリはこの変数に配列として保存される。| |$last_result|最後に実行されたクエリの結果。| |$col_info |最後に実行されたクエリの列情報。列情報の取得セクションを参照。| |$insert_id |最後に実行された INSERT クエリで、AUTO_INCREMENT によって生成された ID。| |$num_rows |最後に実行されたクエリで返された行の数。| **テーブル変数 [#le188aab] wpdb を使って簡単に WordPress データベーステーブルを参照できます。 |$posts |posts (投稿・固定ページ) テーブル。| |$users |The table of users (ユーザー) テーブル。| |$comments |The comments (コメント) テーブル。| |$links |The table of links (リンク情報) テーブル。| |$options |The options (設定情報) テーブル。| |$postmeta |The postmeta (= メタコンテンツ、カスタムフィールド) テーブル。| |$usermeta |The usermeta (ユーザーメタ情報) テーブル。ニックネーム、説明、パーミッションなどユーザーに関する追加情報を含む。| |$terms |terms (キーワード情報) テーブル。カテゴリーの説明、リンクカテゴリー、タグなどの情報を含む。| |$term_taxonomy|The term_taxonomy テーブル。キーワード (terms) のクラスであるタクソノミーの情報を含む。タクソノミーとは、投稿カテゴリー、リンクカテゴリー、タグ、その他のカスタムタクソノミーを指す。| |$term_relationships|The term_relationships テーブル。キーワード (terms) と、そのキーワードを使っているオブジェクトの関係性を示す情報を含む。投稿カテゴリーがどの投稿に適用されているか、など。| *参考 [#j73f45cb] -[[関数リファレンス/wpdb Class:http://wpdocs.sourceforge.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/wpdb_Class]]