无法使用CodeIgniter更新数据库

时间:2015-09-23 09:42:39

标签: php sql codeigniter

我目前正在使用Codeigniter。我正试图通过这种方式更新我的数据库:

function index($email) //function wchich will reset the password in the database;
{
    $new_password = random_string('alnum', 16); //generate random password
    $this-> db->set('password', md5($new_password), FALSE);
    $this-> db->where('email', $email);
    $this-> db->update('CI_TEST');

    echo ''. $this->db->last_query();
    exit();
    echo '-> '. $this->db->affected_rows(). '</br>';
    $query = $this->db->get();
    return ($new_password);
}

我学习了如何在Codeigniter网站上更新数据库。 否则我的浏览器不会给我任何错误,但是我尝试使用如下所示的相应函数显示最后一个查询,它更准确地给了我想要做的事情,更准确地说:

  

更新ci_test SET密码= 5167ec0e9c076c2c45550ee7581c07f6 WHERE   email ='test@gmail.com'

但是,当我使用$ this-&gt; db-&gt; affected_row()函数来了解数据库是否成功修改时,它只是给了我

-1

我在我的数据库中验证过,没有更新。 有谁能告诉我发生了什么? 谢谢:))

1 个答案:

答案 0 :(得分:1)

试试这个

function index($email)
{
    $new_password = random_string('alnum', 16);

    $data = array(
        'password' => $new_password
    );

    $this->db->where('email', $email);
    $this->db->update('CI_TEST', $data);

    $count = $this->db->affected_rows();
    if($count==1)
    {
        return $new_password; 
    }
    else
    {
        echo 'too many affected rows here';
    }        
}

$this->db->update(); in Codeigniter

相关问题