首页 > 解决方案 > 如何使用 $wpdb->get_results() 从数据库中获取选定的列;

问题描述

我正在 $wpdb->get_results() 中寻找等效的解决方案PDO::FETCH_NUM

这就是我想要实现的目标:

function get_data( $token, $field ){
        global $wpdb;
        $wpdb->show_errors();
        $result = $wpdb->get_results('SELECT '.$field.' FROM ' . $this->get_table(). '  WHERE  token =\''.$token.'\' ORDER BY id DESC');

        return $result[0];

    }

正如您从上面的查询中看到的那样,我正在从数据库中选择特定的列,但我不知道如何使用 $wpdb->get_results(); 访问选定的列。

我想$field根据 where 子句标准获取列的值。

标签: wordpresswordpress-theming

解决方案


经过深入研究,我得到了解决方案。

基本上,这就是获取$field列的方法。

function get_data( $token, $field ){
    global $wpdb;
    $wpdb->show_errors();
    $result = $wpdb->get_results('SELECT '.$field.' FROM ' . $this->get_table(). '  WHERE  token =\''.$token.'\' ORDER BY id DESC');

    $data = ""; 

    foreach ($result as $key => $value) {
        $data = $value->$field;
    }

    return $data; 
}

为简单起见,假设您有一个名为 的列,这是从数据库first_name中获取该列的方法。first_name

function get_data( $token ){
    global $wpdb;
    $wpdb->show_errors();
    $result = $wpdb->get_results('SELECT first_name FROM your_table_name WHERE  token =\''.$token.'\' ORDER BY id DESC');

    foreach ($result as $key => $value) {
        echo $data = $value->first_name;
    }
}

推荐阅读