Sök…


Anmärkningar

Det finns två sätt att referera till $wpdb objektet. Den första är att använda PHP-nyckelordet global för att agera på den globala instansen av objektet.

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

Det andra sättet att använda $wpdb objektet är att referera PHP: s $GLOBALS super globala variabel.

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

Det andra sättet är avskräckt eftersom det kanske inte betraktas som den bästa praxis.

Välja en variabel

I den mest grundläggande formen är det möjligt att välja en enda variabel från en tabell genom att kalla objektets get_var metod som passerar i en SQL-fråga.

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

Det är mycket viktigt att notera att alla opålitliga värden som används i frågor måste undvikas för att skydda mot attacker. Detta kan göras med hjälp av objektets 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';
}

Välja flera rader

Du kan använda get_results för att få flera rader från databasen.

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

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

Detta visar alla användarlistor i array.



Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow