Wpdb->查询向phpMyAdmin返回不同的值

时间:2020-08-12 作者:Bob

我正在尝试构建一个查询db和求和的短代码。以下是我目前掌握的情况:

function my_plugin_name_count_people() {
    global $wpdb;
return $wpdb->query ("SELECT COALESCE(SUM(`column_one`), column_two ,0) FROM `table_name` WHERE `booking_date` = CURDATE() -10");
}

add_shortcode(\'countpeople\', \'my_plugin_name_count_people\');
这将返回“1”作为值,但如果我在myphpadmin中运行该语句,它将显示NULL。这是准确的,因为那天没有结果。有人知道为什么在SUM()计数上显示“1”吗?

1 个回复
SO网友:mozboz

您需要阅读正在使用的函数的手册,因为其中包含了有关如何调试的所有信息。

$wpdb-query() 描述非常清楚。返回值为:

(int | bool)布尔true,用于创建、更改、截断和删除查询。为所有其他查询影响/选择的行数。错误时布尔值为false。

正如前面问题的答案中所提到的,您可能希望$wpdb->getvar(), 它从查询中返回一个标量值。