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.



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow