WordPress
Obiekt $ wpdb
Szukaj…
Uwagi
Istnieją dwa sposoby odwoływania się do obiektu $wpdb
. Pierwszym z nich jest użycie słowa kluczowego global
PHP, aby działać na globalnej instancji obiektu.
global $wpdb;
echo $wpdb->prefix;
// Outputs the prefix for the database
Drugim sposobem użycia obiektu $wpdb
jest odwołanie się do super globalnej zmiennej $GLOBALS
PHP.
echo $GLOBALS['wpdb']->prefix;
// This will also output the prefix for the database
Drugi sposób jest odradzany, ponieważ może nie być uważany za najlepszą praktykę.
Wybór zmiennej
W najbardziej podstawowej formie można wybrać jedną zmienną z tabeli, wywołując metodę get_var
obiektu przekazując zapytanie SQL.
global $wpdb;
$user = $wpdb->get_var( "SELECT ID FROM $wpdb->users WHERE user_email='[email protected]'" );
Bardzo ważne jest, aby pamiętać, że wszelkie niezaufane wartości używane w zapytaniach muszą być zabezpieczone przed atakami. Można to zrobić za pomocą metody prepare
obiektu.
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';
}
Wybieranie wielu wierszy
Możesz użyć get_results, aby uzyskać wiele wierszy z bazy danych.
global $wpdb;
$userTable =$wpdb->prefix."users";
$selectUser = $wpdb->get_results("SELECT * FROM $userTable");
Spowoduje to wyświetlenie listy wszystkich użytkowników w tablicy.