为什么空结果是错误的?($wpdb->get_row)

时间:2015-11-05 作者:Galivan

我有一个从表中获取最高id的查询。

$user_id = $wpdb->get_row("SELECT * FROM $table WHERE id=(SELECT MAX(id) FROM $table)")
表应该始终有行,但如果由于某种原因返回空,则会出现错误(打印为$wpdb->print_error()):

WordPress database error: []
我想知道为什么空结果意味着错误?我该如何防止这个错误?

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

没有错误。方括号为空,即“无错误”。在SQL中加一个假逗号,你就会明白我的意思了。

但您的SQL非常复杂,因为您正在执行。这完全等同于

SELECT * FROM $table ORDER BY id DESC LIMIT 1
不过,我注意到您正在使用id 而不是ID 我不记得有任何使用小写版本的核心表。如果这是针对核心表的,那将是一个问题。