Detectando erros gerados por $ wpdb-get_results ()

9

Como faço para detectar erros ao usar o $ wpdb- > get_results ()?

Por exemplo:

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");

O código anterior não gera exceções ou erros; simplesmente define $ result como um array vazio. Como podemos detectar com segurança erros gerados por get_results ()?

    
por rinogo 17.04.2014 / 23:54

2 respostas

7

Existe uma variável de classe que armazena a última string de erro - $ wpdb- > last_error. Pela aparência da maneira como o $ wpdb é codificado, se a consulta for bem-sucedida, $ wpdb- > last_error será uma string vazia, se falhar, será a string de erro retornada pelo MySQL. Então, algo assim faria o truque.

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
if ($wpdb->last_error) {
  echo 'You done bad! ' . $wpdb->last_error;
}
    
por bytesnz 23.04.2015 / 08:31
1

O melhor que posso encontrar é:

$wpdb->show_errors();
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
$wpdb->hide_errors();

Infelizmente, isso dificilmente resolve o problema. Eu quero manipular o erro programaticamente, não apenas ecoá-lo para o fluxo de saída.

    
por rinogo 18.04.2014 / 00:00