preparar () não está funcionando

Quando eu faço isso:

$transients = $wpdb->get_col( " SELECT option_name FROM $wpdb->options WHERE option_name LIKE '_transient_wb_tt_%' " ); 

Isso funciona bem, mas quando eu uso preparar como assim:

 $transients = $wpdb->get_col( $wpdb->prepare( " SELECT option_name FROM %s WHERE option_name LIKE '_transient_wb_tt_%' ", $wpdb->options ) ); 

Não funciona, o que estou fazendo de errado aqui?

Solutions Collecting From Web of "preparar () não está funcionando"

Eu concordo com @bainternet. Você não precisa de $wpdb->prepare . Não existe nenhum conteúdo fornecido pelo usuário.

A resposta à pergunta é que, para obter um cartão curinga para passar, prepare é necessário dobrá-lo em seu código.

 LIKE '_transient_wb_tt_%%' 

Experimente isso ou aquilo se desejar uma boa olhada na consulta gerada:

 var_dump($wpdb->prepare(" SELECT option_name FROM %s WHERE option_name LIKE '_transient_wb_tt_%%' ", 'abc')); die; 

Além de ser desnecessário, usar $wpdb->prepare assim, não funcionará. A tentativa de usar prepare para trocar o nome do tabuleiro resultará em um conjunto de tabelas com aspas ao redor. Isso é um SQL inválido. A consulta deve ser simples:

 SELECT option_name FROM {$wpdb->options} WHERE option_name LIKE '_transient_wb_tt_%%'