我目前正在使用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
但是,当我使用$ this-&gt; db-&gt; affected_row()函数来了解数据库是否成功修改时,它只是给了我
-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';
}
}