【问题标题】:How to get array value from wordpress database get_results如何从 wordpress 数据库 get_results 获取数组值
【发布时间】:2018-04-01 12:08:36
【问题描述】:

尝试从我的 mysql 查询中回显数组值(在 Wordpress sn-p 中)

function get_customer_gain() {
  global $wpdb; 
  $users = $wpdb->get_results( "SELECT SUM(wp_wpdatatable_1.payback) FROM wp_wpdatatable_1");
  foreach( $users as $user ) {
    echo $user;
  }
}
add_shortcode('customer_gain', 'get_customer_gain');

我的 var_dump 是: array(1) { [0]=> object(stdClass)#3098 (1) { ["SUM(wp_wpdatatable_1.payback)"]=> string(6) "183320" } }

所以基本上我试图回应那个 183320 号码

任何指导将不胜感激。

谢谢

【问题讨论】:

  • 只用$number = $wpdb->get_var(SELECT SUM(...";

标签: php wordpress code-snippets


【解决方案1】:

你必须使用正确的语法$wpdb->get_results( $query, $type_of_result);

看看here

编辑解释:

$users = $wpdb->get_results( "SELECT SUM(wp_wpdatatable_1.payback) as sumed FROM wp_wpdatatable_1", ARRAY_A);

array_a 将返回关联数组,而默认情况下它作为导致问题的对象返回

【讨论】:

  • 接受的参数:ARRAY_A ||数组_N ||对象 || OBJECT_K
  • ARRAY_A 完成输出后,您可以访问该值
  • 如果已经知道只有一行,这是更好的解决方案。
【解决方案2】:

您好,欢迎来到 stackoverflow

您的代码必须更改为

function get_customer_gain() {
  global $wpdb; 
  $users = $wpdb->get_results( "SELECT SUM(wp_wpdatatable_1.payback) as sumed FROM wp_wpdatatable_1");
  foreach( $users as $user ) {
    echo $user->sumed;
  }
}
add_shortcode('customer_gain', 'get_customer_gain');

【讨论】:

  • 如果我可以问另一个问题...如果我使用相同的代码从另一列获取值...那么我想知道这两者之间的区别吗?从上面的例子中(SELECT SUM(wp_wpdatatable_1.payback... 然后 SELECT SUM(wp_wpdatatable_1.car ...
猜你喜欢
  • 2020-09-15
  • 2018-02-03
  • 2014-09-24
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
  • 2014-09-23
  • 1970-01-01
相关资源
最近更新 更多