Come Ottenere Dati dal Database WordPress Utilizzando la Query $wpdb?

27 set 2014, 16:59:06
Visualizzazioni: 36.5K
Voti: 1

Sto cercando di ottenere alcuni dati dalle tabelle del database WordPress in un plugin. Per questo, sto utilizzando il codice seguente...

global $wpdb;
$findID = $wpdb->get_var("SELECT ID FROM wp_posts WHERE post_name = 'hello-world'");
echo $findID;

Ma non mi restituisce l'ID del post nell'echo? C'è qualcosa che non va...???

2
Commenti

Ho ricontrollato e ho scoperto che era un problema nel mio codice e dopo averlo sistemato, anche quello superiore funziona. Puoi usare anche la soluzione qui sotto...

Muhammad Hassan Muhammad Hassan
29 set 2014 07:29:32

@ialocin Ok. Fatto...

Muhammad Hassan Muhammad Hassan
2 ott 2014 07:27:59
Tutte le risposte alla domanda 2
1

Per chiarire, il metodo get_var() di $wpdb funziona perfettamente in questo contesto:

global $wpdb;
$helloworld_id = $wpdb->get_var("SELECT ID FROM wp_posts WHERE post_name = 'hello-world'");
echo $helloworld_id;

In realtà è più pratico in questo contesto, perché viene restituita una singola variabile, che è esattamente ciò che si desidera ottenere.

27 set 2014 20:52:16
Commenti

Grazie per avermi confermato che ho condiviso il codice corretto ma il problema era nei miei altri codici, quindi ora è tutto a posto...

Muhammad Hassan Muhammad Hassan
2 ott 2014 07:28:33
3

Ho trovato la soluzione e la query corretta per recuperare un dato dal database di WordPress è la seguente.

global $wpdb;
$findID = $wpdb->get_results("SELECT ID FROM wp_posts WHERE post_name = 'hello-world'");
echo $findID[0]->ID;
27 set 2014 18:00:37
Commenti

Non so quale fosse/sia il problema nella tua configurazione, ma usare get_var dovrebbe funzionare perfettamente. Non dovrebbe essere necessario usare get_results, che in questo scenario è inoltre un po' scomodo.

Nicolai Grossherr Nicolai Grossherr
27 set 2014 20:54:07

Ho ricontrollato e ho scoperto che era un problema nel mio codice e dopo averlo sistemato, anche la prima domanda funziona correttamente.

Muhammad Hassan Muhammad Hassan
2 ott 2014 07:29:29

la sintassi corretta è

global $wpdb; $tableName = $wpdb->prefix . 'leaguemanager_person_status'; $findID = $wpdb->get_results("SELECT ID FROM $tableName WHERE post_name = 'hello-world'"); echo $findID[0]->ID;

digitalzoomstudio digitalzoomstudio
18 lug 2021 15:54:48