Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我无法更新数据库中的值Yii?_Php_Yii - Fatal编程技术网

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);