$wpdb->insert non funziona in alcun modo
So che questo tipo di domanda è stata posta più e più volte, ma non sono riuscito a trovare una soluzione per il mio problema, quindi spero possiate aiutarmi. Sto usando WP 3.3 e ho creato una tabella personalizzata. Ora voglio inserire alcuni dati al suo interno, ma non riesco a farlo funzionare. Questo è il mio codice:
global $wpdb;
$table_name = $wpdb->prefix . "my_data";
$wpdb->insert($table_name, array(
'my_id' => NULL,
'my_day' => $day,
'my_month' => $month,
'my_abbr' => $abbr,
'my_venue' => $venue,
'my_geo' => $geo_one.", ".$geo_two,
'my_artist' => $artist,
'my_link' => $link
)
);
Sto cercando di inserire i dati da diverse ore ormai senza successo. Ai miei occhi il codice sembra corretto, ma immagino che mi stia sfuggendo qualcosa di importante qui. Qualsiasi suggerimento sarebbe apprezzato! Grazie

Quando il metodo $wpdb
non funziona come dovrebbe, è probabile che ci sia un problema con la query SQL risultante (a causa di un input errato o altro).
Segui il riferimento a wpdb nel Codex
per il troubleshooting:
- abilita la visualizzazione degli errori del database tramite
$wpdb->show_errors()
- controlla quale query viene formata e eseguita tramite
$wpdb->last_query

La classe wpdb
non ha un metodo insert. Sarebbe meglio se non utilizzassi la query; consulta il codex, e non troverai questa funzione insert()
- http://codex.wordpress.org/Class_Reference/wpdb
Un esempio di inserimento di una tabella personalizzata con WPDB; utilizza una sintassi SQL CREATE TABLE
predefinita e crea con il metodo query()
di wpdb
la tabella con i tuoi valori.
$table = $GLOBALS['wpdb'] -> prefix . 'my_data';
$GLOBALS['wpdb'] -> query(
"CREATE TABLE $table (
called_by varchar(96) NOT NULL,
my_name varchar(96) NOT NULL,
my_type varchar(15) NOT NULL,
first_call int(11) NOT NULL,
arg_count tinyint(4) NOT NULL,
file_name varchar(128) NOT NULL,
line_num smallint NOT NULL,
PRIMARY KEY (first_call, my_name) )"
);
Per inserire questo sorgente, utilizza l'hook register_activation_hook()
; solo durante l'attivazione, il plugin installerà la tabella se non esiste. Con register_uninstall_hook()
elimino le tabelle personalizzate.

