#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]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS