ホームページ > バックエンド開発 > PHPチュートリアル > wordpressのデータベース操作に使用する関数です。

wordpressのデータベース操作に使用する関数です。

WBOY
リリース: 2016-08-08 09:23:32
オリジナル
1150 人が閲覧しました

wordpressを利用する際、WPでカプセル化されたデータベース操作クラス(wp-db.php)を直接利用したい場合は、コード内にwp-blog-header.phpを組み込むことで利用できます。

define(‘PATH’, dirname(dirname(__FILE__)).‘/’);  
require_once(PATH . ‘../wp-blog-header.php’);  
global $wpdb; 
ログイン後にコピー

データを挿入する場合、wp-dbクラスのinsert()関数を使用する方法があります。

$table = "test_table";
$data_array = array(
‘column_1′ => ‘data1′,
‘column_2′ => ‘data2′
);
$wpdb->insert($table,$data_array);
ログイン後にコピー

最初のパラメータはデータベース テーブル内の名前で、2 番目のパラメータは挿入されるデータ (配列) です。配列内のキーの名前は、テーブル内の列名です。実際、insert() 関数には 3 番目のパラメータ形式もあります。興味のある方は、wp-db.php のメソッド定義を確認してください。たとえば、update() 関数を使用できます。データベースからデータを更新する データを取得するには多くの方法がありますが、そのうちの 1 つは次のとおりです:

$table = "test_table";
$data_array = array(
 ‘column_1′ => ‘new_data1′
);
$where_clause = array(
ログイン後にコピー

クエリ PHP 構文

‘column_2′ => ‘data2′
);
$wpdb->update($table,$data_array,$where_clause);
ログイン後にコピー

クエリのパラメータは任意の mysql ステートメントです。戻り値は、選択されて影響を受けた行の数です。エラーが発生した場合は FALSE を返します。

変数を選択します

$querystr = "SELECT column_1 FROM test_table";
$results = $wpdb->get_results($querystr);
$i=0;
while ($i< count($results)){
echo $results[$i]->column_1."<br />";
$i++;
}
ログイン後にコピー

ここで、query はクエリ対象の mysql ステートメントです。それが空の場合は、キャッシュから選択することを意味します。 column_Offset と row_offet はクエリの戻り値の列と行を示し、デフォルト値は 0 です。一般的な使用法は次のとおりです:


<strong><?php $wpdb->query("DELETE FROM $wpdb->post WHERE post_id = ’13′ “); ?> </strong>
ログイン後にコピー

この SQL は値を 1 つだけ選択します。デフォルト値は 0 行、0 列で、これはユーザーの数が選択されることを意味します。なぜここで常に prepare が前に追加されるのかは不明です。

行を選択

<strong><?php $wpdb->get_var('query',column_offset,row_offset); ?> </strong>
ログイン後にコピー

queryは実行されるmysqlステートメントであり、output_typeは戻り値がオブジェクト、ハッシュ、または配列であることを示し、row_offsetはどの行であるかを示します。

デフォルトでは、output_type は object です。

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");

echo $mylink->link_id // Output_type=ARRAY_Aの場合は「10」を出力します。次に:

<?php $user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->users;"));?>
ログイン後にコピー

列を選択

get_col('query',column_offset); >

通常は

<strong><?php $wpdb->get_row('query', output_type, row_offset); ?> </strong>
ログイン後にコピー

行を挿入

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);
echo $mylink['link_id']; // prints "10"
ログイン後にコピー

を選択します

//$wpdb->get_results('query', output_type);

<?php
$fivesdrafts = $wpdb->get_results("SELECT ID, post_title FROM $wpdb->posts
WHERE post_status = 'draft' AND post_author = 5");

foreach ($fivesdrafts as $fivesdraft) {
echo $fivesdraft->post_title;
}
ログイン後にコピー
wpdb prepare について

前述したように、各 mysql ステートメントが prepare に含まれる理由は明確ではありません。以下に説明します。mysql ステートメントには一重引用符や二重引用符などの文字が含まれる場合があるため、処理されないと、 mysql に直接送信されるため、エラーが発生する可能性があります。そこで、ここでは、prepare を使用して mysql ステートメントを前処理します。 prepare の構文は次のとおりです:

<strong>//<?php $wpdb->insert( $table, $data, $format ); ?>
<?php $wpdb->insert('table', array('column1' => 'value1', 'column2' => 123 ), array('%s','%d') ) ?></strong>
ログイン後にコピー


クエリには %d、%S、%f を含めることができます。これらは、表示する場合、次のパラメーターの型が整数、文字、浮動小数点であることをそれぞれ示します。 % 記号は %% を使用します。構文は基本的に C 言語の printf と同じです。

基本的にはそれだけです。一般的なデータベースの処理には問題ありません。問題が発生した場合は、この記事の冒頭で説明した記事で確認してください。

$wpdb は、複数のデータベース クエリ関数を含むグローバル変数です:


//$wpdb->update( $table, $data, $where, $format = null, $where_format = null );
<?php $wpdb->update( 'table', array( 'column1' => 'value1', 'column2' => 'value2' ), array( 'ID' => 1 ), array( '%s', '%d' ), array( '%d' ) ) ?>
ログイン後にコピー

詳細: http://codex.wordpress.org/zh-cn:Class_Reference/wpdb




以上、WordPressのデータベース操作で使用する機能を紹介しました。 、関連コンテンツも含めて、PHP チュートリアルに興味のある友人に役立つことを願っています。


関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート