【问题标题】:Wordpress select statement with order by带有 order by 的 Wordpress 选择语句
【发布时间】:2015-07-13 10:06:53
【问题描述】:

我有一个 wordpress 查询,在没有 order by 的情况下可以正常工作,但是当我添加它时,它什么也不返回。

 public function getUsers(){

    global $wpdb; 

    return $wpdb->get_results("SELECT * FROM {$wpdb->prefix}users ORDER BY $wpdb->con_created_at ASC", OBJECT );

}

谁能看到我哪里出错了?干杯

【问题讨论】:

  • 错误信息是什么?
  • 那么问题出在哪里?
  • 当我使用标准查询时,我得到了结果。我想按 date_created 排序这些结果。但是,当我按结果添加订单时,不再出现。这表明我的语法错误..?
  • 服务器端可能有日志
  • 你确定 $wpdb->con_created_at 持有你认为应该持有的东西吗?

标签: php mysql sql wordpress


【解决方案1】:

您无法在这样的引号中获取对象属性的值。您正在正确获取 prefix 属性值。以同样的方式获取con_created_at

return $wpdb->get_results("SELECT * FROM {$wpdb->prefix}users ORDER BY {$wpdb->con_created_at} ASC", OBJECT );

或使用字符串连接

return $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."users ORDER BY ".$wpdb->con_created_at." ASC", OBJECT );

但我认为$wpdb 没有con_created_at。这只是字段名称。所以

return $wpdb->get_results("SELECT * FROM ".$wpdb->prefix."users ORDER BY con_created_at ASC", OBJECT );

应该是正确的。

欲了解更多信息,请访问PHP manual

【讨论】:

    猜你喜欢
    • 2021-01-21
    • 1970-01-01
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多