简体   繁体   English

如何使用 wpdb 和 fetch (PDO::FETCH_ASSOC)

[英]How to use using wpdb with fetch (PDO::FETCH_ASSOC)

How to return search results with wpdb as if it were with (PDO::FETCH_ASSOC)?如何使用 wpdb 返回搜索结果,就像使用 (PDO::FETCH_ASSOC) 一样?

My problem is in this functions:我的问题在于这个功能:

function expired_code($ID, $email){
    global $wpdb;
    $user = $wpdb->get_results ("SELECT ID, activation_code, activation_expiry < now() as expired FROM wp_users_infor WHERE active = 0 AND ID = %d", $ID);
    if ($user) {
        if ((int)$user['expired'] === 1) {

        } 
    } 
} 

I really don't understand the return of this type of research.我真的不明白这种研究的回报。 How should I do to return this type of function for example?例如,我应该如何返回这种类型的 function?

function find_user_by_username(string $username) {
    $sql = 'SELECT user_email, password, active, email FROM wp_users WHERE user_email=:username';
    $statement = db()->prepare($sql);
    $statement->bindValue(':username', $username);
    $statement->execute();
    return $statement->fetch(PDO::FETCH_ASSOC);}

Would it be okay for me to use a foreach?我可以使用 foreach 吗? Example:例子:

function find_user_by_username(string $email) {
    global $wpdb;
    $user = $wpdb->get_results ("SELECT user_email, password, active, email FROM wp_users WHERE user_email = %s ", $email);
    foreach ($user as $result) {
        return $result;
    }
}

You can try:你可以试试:

function find_user_by_username( string $email ) {
global $wpdb;
$user = $wpdb->get_results(
    $wpdb->prepare( "SELECT user_email, password, active, email FROM wp_users WHERE user_email = %s", $email ),
    'ARRAY_A'
);

foreach ( $user as $result ) {
    return $result;
} }

The option ARRAY_A produces an associative array for each row of the result.选项ARRAY_A为结果的每一行生成一个关联数组。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM