サーチ…


備考

$wpdbオブジェクトを参照するには2つの方法があります。最初に、オブジェクトのグローバルインスタンスに対して作用するためにPHPキーワードglobalを使用します。

global $wpdb;
echo $wpdb->prefix;
// Outputs the prefix for the database

$wpdbオブジェクトを使用する2番目の方法は、PHPの$GLOBALSスーパーグローバル変数を参照することです。

echo $GLOBALS['wpdb']->prefix;
// This will also output the prefix for the database

第2の方法は、ベストプラクティスとはみなされない可能性があるため、お勧めしません。

変数の選択

最も基本的な形式では、SQLクエリを渡すオブジェクトのget_varメソッドを呼び出すことによって、テーブルから単一の変数を選択することができます。

global $wpdb;
$user = $wpdb->get_var( "SELECT ID FROM $wpdb->users WHERE user_email='[email protected]'" );

攻撃から保護するためには、クエリで使用される信頼できない値をエスケープする必要があることに注意することが非常に重要です。これは、オブジェクトのprepareメソッドを使用して行うことができます。

global $wpdb;
$email = $_POST['email'];
$user = $wpdb->get_var(
    $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_email=%s", $email )
);
if( !is_null( $user ){
    echo $user; 
} else {
    echo 'User not found';
}

複数の行を選択する

get_resultsを使用すると、データベースから複数の行を取得できます。

global $wpdb;
$userTable =$wpdb->prefix."users";

$selectUser = $wpdb->get_results("SELECT * FROM $userTable"); 

これにより、すべてのユーザーが配列で一覧表示されます。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow