Mysql Can';t更新/更改数据库中的字段值

Mysql Can';t更新/更改数据库中的字段值,mysql,database,sql-update,Mysql,Database,Sql Update,理论上,我将向您展示有效的代码,我的意思是,它是有意义的,但我无法在表中获得任何更改!:\ 下面是代码: else if ($mode == 'password') { $generated_password = substr(md5(rand(999,999999)), 0, 8); change_password($user_data['user_id'],$generated_password); update_user($user_data['u

理论上,我将向您展示有效的代码,我的意思是,它是有意义的,但我无法在表中获得任何更改!:\

下面是代码:

else if ($mode == 'password') {
    $generated_password = substr(md5(rand(999,999999)), 0, 8);
    change_password($user_data['user_id'],$generated_password);         
    update_user($user_data['user_id'], array('password_recover' => '1'));
    email($email, 'Your new password', "Hi," . $user_data['nome'] . " \n\nYour new password is: " . $generated_password . "");
}
职能:

function update_user($user_id,$update_data){
    $update = array();     
    array_walk($update_data, 'array_sanitize'); 
    foreach($update_data as $field => $data) {
            $update[]='`' .$field. '`=\'' .$data . '\'';
    }
    mysql_query("UPDATE users SET " . implode(', ',$update) . "WHERE user_id = '$user_id'");
}

function change_password($user_id,$password) {
    $user_id = (int) $user_id;
    $password = md5($password);

    mysql_query("UPDATE users SET password = '$password' WHERE user_id = $user_id");
}

我甚至没有写过电子邮件功能,因为它可以工作。提前感谢!:)

您应该在代码中添加某种错误处理。至少在每个
mysql\u query()
之后添加
或die('Error:'.mysql\u Error())
,以便至少了解执行查询时出现的错误

如果您只是从某个地方获取代码,但并不真正理解它的功能,那么如果它没有实现您希望它实现的功能,请不要感到惊讶