ホームページ  >  記事  >  バックエンド開発  >  wordpressのデータベース操作に使用する関数です。

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

WBOY
WBOYオリジナル
2016-08-08 09:23:321098ブラウズ

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 チュートリアルに興味のある友人に役立つことを願っています。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。