简体   繁体   English

将查询更改为Codeigniter中的活动记录

[英]Change query to active record in Codeigniter

I want to change this code into active record query and I am have difficulties doing so. 我想将此代码更改为活动记录查询,但这样做有困难。

 public function get_user($username, $password) {
    $p = md5($password);
    $q = "SELECT u.userid, u.userfullname, u.useraddress
    FROM user u 
    WHERE u.username = ? AND u.userpassword = ?";

    $r = $this->db->query($q, [$username, $p]);
    $this->db->close();
    return $r->result_object();
}

You don't need the table alias "u" when you're just dealing with a single table. 当您只处理单个表时,不需要表别名“ u”。 If you're referring to what CodeIgniter now calls Query Builder, then this is your answer: 如果您指的是CodeIgniter现在称为查询生成器的内容,那么这就是您的答案:

$r = $this->db->select('userid, userfullname, useraddress')
    ->where('username', $username)
    ->where('userpassword', $p)
    ->get('user');

if( $r->num_rows() > 0 )
    return $r->result();

return FALSE;

https://www.codeigniter.com/userguide3/database/query_builder.html https://www.codeigniter.com/userguide3/database/query_builder.html

return $this->db->select('userid, userfullname, useraddress')
->where('username', $username)
->where('userpassword', $p)
->get('user')->row();

// if no entry null will be returned
//row returns user as an object row_array() returns user as an array

also instead of md5 look at their encryption library https://www.codeigniter.com/user_guide/libraries/encryption.html 还可以使用md5代替他们的加密库https://www.codeigniter.com/user_guide/libraries/encryption.html

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

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