如何使用 $wpdb->get_results(); 从数据库中获取选定的列

How to get selected columns from the database using $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(); 访问选定的列;

我想根据 where 子句条件获取 $field 列的值。

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

基本上,这是获取 $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;
    }
}