Php 我无法更新数据库中的值Yii?
我无法更新数据库中的值。代码如下:Php 我无法更新数据库中的值Yii?,php,yii,Php,Yii,我无法更新数据库中的值。代码如下: if($user = User::model()->findByAttributes(array('username'=>$verification->username))) { // Generating 8 random symbols for new password $new_password = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrs
if($user = User::model()->findByAttributes(array('username'=>$verification->username)))
{
// Generating 8 random symbols for new password
$new_password = substr(str_shuffle(str_repeat("0123456789abcdefghijklmnopqrstuvwxyz", 8)), 0, 8);
// Transfering password to MD5 hash with salt!
$new_password = md5('salt'.$new_password);
$user->password = $new_password;
if($user->save())
{...
调试器显示该值并将其替换(密码),但在保存时
如果($user->save())
{
给出false并重置为最新的代码行:
$this->render('forget')
问题:
作为最后一条评论,如果表中没有
repeat\u password
字段,请手动将其添加到模型中。(用户模型)。(实际上,表中不需要有此字段。)
然后,为字段定义规则。(例如,必填等…)
要获取验证错误,可以执行以下操作:
CVarDumper::dump($model->getErrors(),56789,true);
做一个
if($user->save()){[…]}else{var_dump($user errors);}
看看是否有验证错误以及验证错误是什么。谢谢你的回答。我得到了一个错误,答案是“int(1)”这意味着什么?很抱歉,我有一个打字错误,我无法再更正了。请做一个if($user->save()){[…]else{var_dump($user->errors)}
。您应该会得到一个带有错误消息的数组作为响应。太好了!我知道问题所在,验证-数组('password','compare','compareAttribute'=>'repeat\u password')在数据库中没有字段“repeat\u password”,但我正在注册它,与字段“password”进行比较。现在我需要以某种方式将其插入代码中。如果我将$user->repeat\u password=$new\u password放入,则会发生错误。如何将其发送到“password”中?
CVarDumper::dump($model->getErrors(),56789,true);