WordPress
L'oggetto $ wpdb
Ricerca…
Osservazioni
Esistono due modi per fare riferimento all'oggetto $wpdb
. Il primo è usare la parola chiave PHP global
per agire sull'istanza globale dell'oggetto.
global $wpdb;
echo $wpdb->prefix;
// Outputs the prefix for the database
Il secondo modo per usare l'oggetto $wpdb
è fare riferimento alla variabile super globale $GLOBALS
PHP.
echo $GLOBALS['wpdb']->prefix;
// This will also output the prefix for the database
Il secondo modo è scoraggiato in quanto potrebbe non essere considerato la migliore pratica.
Selezione di una variabile
Nella forma più semplice, è possibile selezionare una singola variabile da una tabella chiamando il metodo get_var
dell'oggetto che passa in una query SQL.
global $wpdb;
$user = $wpdb->get_var( "SELECT ID FROM $wpdb->users WHERE user_email='[email protected]'" );
È molto importante notare che tutti i valori non attendibili utilizzati nelle query devono essere sottoposti a escape per proteggere dagli attacchi. Questo può essere fatto usando il metodo di prepare
dell'oggetto.
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';
}
Selezione di più righe
È possibile utilizzare get_results per ottenere più righe dal database.
global $wpdb;
$userTable =$wpdb->prefix."users";
$selectUser = $wpdb->get_results("SELECT * FROM $userTable");
Questo mostrerà tutti gli utenti elencati nella matrice.