检测$wpdb->GET_RESULTS()生成的错误

时间:2014-04-17 作者:rinogo

使用$wpdb->get\\u results()时如何检测错误?

例如:

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
前面的代码不会生成任何异常或错误;它只是将$result设置为空数组。我们如何可靠地检测由get\\u results()生成的错误?

2 个回复
最合适的回答,由SO网友:bytesnz 整理而成

有一个类变量存储最后一个错误字符串-$wpdb->last\\u error。从$wpdb的编码方式来看,如果查询成功,$wpdb->last\\u error将是一个空字符串,如果失败,将是MySQL返回的错误字符串。所以像这样的事情就行了。

$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
if ($wpdb->last_error) {
  echo \'You done bad! \' . $wpdb->last_error;
}

SO网友:rinogo

我能找到的最好结果是:

$wpdb->show_errors();
$result = $wpdb->get_results("SELECT * FROM this is not a valid query");
$wpdb->hide_errors();
不幸的是,这很难解决问题。我希望以编程方式处理错误,而不仅仅是将其回显到输出流。

结束

相关推荐

如何在不使用wpdb循环的情况下获取db值->Get_Results()

所以我想从自定义DB表的1行返回数据,但我不想使用循环,因为我只需要一次值。。。。有没有办法做到这一点?$results = $wpdb->get_results($wpdb->prepare(\"SELECT * FROM mytable WHERE the_id = %d\", $id)); $results->the_id;//not working $results->the_name;//not working ...