duanou1904 2015-11-12 08:37
浏览 20

自定义字段中的PHP更新数据库

I have debugging this for about 3 hours and I can't fix this. I just wan't to update only 1 or multiple fields that doesn't update all or update all database row getting it from fields.

this is my code

$query_account = mysql_query("SELECT * FROM `user` WHERE `id`='$db_id'");
    $account_row = mysql_fetch_assoc($query_account);
    $db_permission = $account_row['permission'];
    $db_flogin = $account_row['first_login'];
    $db_username = $account_row['username'];
    $db_fname = $account_row['fname'];
    $db_mname = $account_row['mname'];
    $db_lname = $account_row['lname'];
    $db_email = $account_row['email'];
    $db_bday = $account_row['birthday'];
    $db_nationality = $account_row['nationality'];
    $db_phone = $account_row['phone'];
    $db_address = $account_row['address'];
    $db_gender = $account_row['gender'];
    $db_password = $account_row['password'];
    $db_recpassword = $account_row['recovery_password'];
    if(isset($_POST['as_savebtn'])){
        $fname = $_POST['as_fname'];
        $mname = $_POST['as_mname'];
        $lname = $_POST['as_lname'];
        $email = $_POST['as_email'];
        $nationality = $_POST['as_nationality'];
        $phone = $_POST['as_phone'];
        $address = $_POST['as_address'];
        $pass = $_POST['as_pass'];
        $cpass = $_POST['as_cpass'];
        $asc_pass = $_POST['asc_pass'];
        $recpass = $_POST['as_recpass'];
        $crecpass = $_POST['as_crecpass'];
        if($asc_pass!=null){
            if($asc_pass==$db_password){
                if($pass==$cpass){
                    if($recpass==$crecpass){
                        $pass_length = strlen($pass);
                        if($pass_length>=1 && $pass_length<5){
                            $err_msg = "<font color='red'> Settings didn't changed, your password must be at least 5 characters!</font>";
                        }else{
                            $recpass_length = strlen($recpass);
                            if($pass_length>=1 && $recpass_length<4){
                                $err_msg = "<font color='red'> Settings didn't changed, your recovery password must be at least 4 characters!</font>";
                            }else{

                                if(filter_var($email, FILTER_VALIDATE_EMAIL)){
                                    if($fname==null || $fname==""){
                                        $fname = $db_fname;
                                    }else if($mname==null || $mname==""){
                                        $mname = $db_mname;
                                    }else if($lname==null || $lname==""){
                                        $lname = $db_lname;
                                    }else if($email==null || $email==""){
                                        $email = $db_email;
                                    }else if($nationality==null || $nationality==""){
                                        $nationality = $db_nationality;
                                    }else if($phone==null || $phone==""){
                                        $phone = $db_phone;
                                    }else if($address == null || $address== "" ){
                                        $address = $db_address;
                                    }else if($pass==null || $pass == ""){
                                        $pass = $db_password;
                                    }else if($recpass == null || $recpass ==""){
                                        $recpass = $db_recpassword;
                                    }
                                    mysql_query("UPDATE `user` SET `fname`='$fname',`mname`='$mname',`lname`='$lname',`email`='$email',`nationality`='$nationality',`phone`='$phone',`address`='$address',`password`='$pass',`recovery_password`='$recpass' WHERE `id`='$db_id'") or die(mysql_error());

                                }else if($email=="" || $email ==null){
                                    if($fname==null || $fname==""){
                                        $fname = $db_fname;
                                    }else if($mname==null || $mname==""){
                                        $mname = $db_mname;
                                    }else if($lname==null || $lname==""){
                                        $lname = $db_lname;
                                    }else if($email==null || $email==""){
                                        $email = $db_email;
                                    }else if($nationality==null || $nationality==""){
                                        $nationality = $db_nationality;
                                    }else if($phone==null || $phone==""){
                                        $phone = $db_phone;
                                    }else if($address == null || $address== "" ){
                                        $address = $db_address;
                                    }else if($pass==null || $pass == ""){
                                        $pass = $db_password;
                                    }else if($recpass == null || $recpass ==""){
                                        $recpass = $db_recpassword;
                                    }
                                    mysql_query("UPDATE `user` SET `fname`='$fname',`mname`='$mname',`lname`='$lname',`email`='$email',`nationality`='$nationality',`phone`='$phone',`address`='$address',`password`='$pass',`recovery_password`='$recpass' WHERE `id`='$db_id'") or die(mysql_error());

                                }else{
                                    $err_msg = "<font color='red'> Settings didn't changed, you have entered invalid email!</font>";
                                }
                            }
                        }
                    }else{
                        $err_msg = "<font color='red'> Settings didn't changed, recovery password doesn't match!</font>";
                    }
                }else{
                    $err_msg = "<font color='red'> Settings didn't changed, password doesn't match!</font>";
                }
            }else{
                $err_msg = "<font color='red'> Settings didn't changed, you have entered an Invalid Password!</font>";
            }
        }else{
            $err_msg = "<font color='red'> Settings didn't changed, you have entered an Invalid Password!</font>";
        }
    }

can someone help me? I need a help badly :( thanks in advance

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
    • ¥15 关于#Java#的问题,如何解决?
    • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
    • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
    • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
    • ¥15 cmd cl 0x000007b
    • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
    • ¥500 火焰左右视图、视差(基于双目相机)
    • ¥100 set_link_state
    • ¥15 虚幻5 UE美术毛发渲染