Usando o WPDB no WordPress para inserir uma linha
Pergunta
Alguém vê algo de errado com o que estou fazendo aqui? Ainda não trabalhei com as expressões de banco de dados no WP. Todas as minhas execuções de código, exceto quando começar a tentar adicionar itens às tabelas que criei no banco de dados WP. Qualquer informação seria muito apreciada. Para mim, parece que essa sintaxe está correta e deve ser executada.
$wpdb->insert($wpdb->prefix . 'venue', array('event_id' => $event_id,
'event_date' => $event_date,
'venue_name' => $venue_name,
'venue_city' => $venue_city,
'ticket_url' => $ticket_url,
'event_url' => $event_url),
array(%d, %s, %s, %s, %s, %s) );
Muito Obrigado.
ATUALIZAÇÃO!: Parece haver um problema conectado ao banco de dados WP a partir de uma chamada AJAX. Estou usando o jQuery para chamar um arquivo php e tentar isso dentro do arquivo php. Isso não parece funcionar, pois talvez a classe $ wpdb esteja fora do escopo?
Solução
Os valores na matriz que contêm os tipos de campo devem estar entre '
e '
.
Então isso se tornaria:
array('%d', '%s', '%s', '%s', '%s', '%s')
Ao invés de:
array(%d, %s, %s, %s, %s, %s)
Espero que isso possa ajudar para que outras pessoas tenham esse problema.
Outras dicas
if(!isset($wpdb)){
$wpdb = new wpdb("user","pass","mydb",localhost);
}
Experimente com este código no topo?