2012-03-11 179 views
1

嘿傢伙我有一個問題,基本上我做了一個PHP腳本連接到數據庫。但是,當我嘗試將數據發送到數據庫時,它不會進入數據庫,即使它表示感謝您註冊。但是,當我添加信息,並檢查,看看它的數據庫中沒有。是否有人可以解決我的問題謝謝:)PHP數據庫插入不工作

<?php 
$submitcheck = @$_POST['submit']; 
$fullnameCheck = strtolower(strip_tags(@$_POST['fullname'])); 
$LastNameCheck = strtolower(strip_tags(@$_POST['Lastname'])); 
$UserNameCheck = strip_tags(@$_POST['username']); 
$PasswordCheck = strip_tags(@$_POST['password']); 
$ReCheckPass = strip_tags(@$_POST['repassword']); 
$date = date("Y-m-d"); 

if ($submitcheck) { 

    // connect to the database 
    // checking data 

    if ($PasswordCheck && $ReCheckPass && $UserNameCheck && $fullnameCheck && $LastNameCheck) { 


     if ($PasswordCheck == $ReCheckPass) { 


      //Check length of username and password 

      if (strlen($UserNameCheck) > 25) { 

       echo "Username must be less than 25 characters"; 
      } else { 

       if (strlen($LastNameCheck) > 25) { 

        echo "Last name must be less thank 25 charcters"; 
       } else { 

        if (strlen($fullnameCheck) > 25) { 

         echo "Your Fisrt name is too long must be less than 25"; 
        } else { 

         if (strlen($PasswordCheck) > 25 || strlen($PasswordCheck) < 6) { 


          echo "Password must be between 6 to 25"; 
         } else { 

          //register the user 
          $PasswordCheck = md5($PasswordCheck); 
          $ReCheckPass = md5($ReCheckPass); 

          $connect = mysql_connect("localhost", "root", "halo123"); 
          mysql_select_db('phplogin'); 

          $namecheckers = mysql_query("SELECT * FROM users WHERE username ='$UserNameCheck'"); 
          $counts = mysql_num_rows($namecheckers); 

          if ($counts != 0) { 

           die("username in use sorry"); 
          } 

          $queryreg = mysql_query("INSERT INTO users()id, username, password, FisrtName, LastName, date) VALUES ('id','$UserNameCheck','$PasswordCheck','$fullnameCheck','$LastNameCheck','$date')"); 

          die("Congrats you have been registered <a href='test.php'>Click here</a> to return to login page"); 
         } 
        } 
       } 
      } 
     } 
     else 
      echo "your passwords do not macth"; 
    } 
    else 
     echo "Please fill in all the information thank you "; 
} 
?> 


<html 


    <head> 
    <p> 
     <meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
     <title>Register</title> 




    </head> 

<body> 

    <form action='register.php' method="POST" > 

     Fisrt Name: <input type="text" name="fullname" value="<?php echo $fullnameCheck; ?>"/><br /> 

     Last Name: <input type="text" name="Lastname" value="<?php echo $LastNameCheck; ?>"/><br /> 

     Chose Username: <input type="text" name="username" value="<?php echo $UserNameCheck; ?>"/><br /> 

     Chose Password: <input type="password" name="password" /><br /> 

     repeat Password: <input type="password" name="repassword" /><br /> 
     <input type="submit" name ="submit" value="register"/> 

    </form> 



</body> 


</html> 
+0

你運行該查詢以確保它與測試數據? 「INSERT INTO users()id,username,password,FisrtName,LastName,date)VALUES('id','$ UserNameCheck','$ PasswordCheck','$ fullnameCheck','$ LastNameCheck','$ date')」 – 2012-03-11 23:55:02

+2

每次我在PHP中看到'@'時,我的臉都會這樣:@。你應該在你的mysql_query的末尾使用['isset()'](http://php.net/manual/en/function.isset.php) – adlawson 2012-03-11 23:59:20

+0

add或die(mysql_error()),你會看到什麼是實際的錯誤是 – bumperbox 2012-03-12 03:56:20

回答

3
INSERT INTO users()id, username, password, FisrtName, LastName, date) VALUES ('id','$UserNameCheck','$PasswordCheck','$fullnameCheck','$LastNameCheck','$date'‌​) 

毫無疑問應該是:

INSERT INTO users(id, username, password, FisrtName, LastName, date) VALUES ('id','$UserNameCheck','$PasswordCheck','$fullnameCheck','$LastNameCheck','$date'‌​) 
+0

而'FisrtName'也可能是一個錯字... – 2012-03-11 23:59:37

+0

我修正了那一個,但那不是問題,以及:) fisrt名稱是一個錯誤哈哈我改變了,但仍然沒有區別:( – 2012-03-12 14:43:09

+0

嗯,你也有'身份證'的值,應該不是一個自動增量字段或至少一個int? – Ing 2012-03-12 14:47:17

1

您需要檢查的mysql_query的結果,看看是否查詢實際工作。 您現在擁有的代碼假定它能正常工作,並忽略可能發生的任何錯誤。

如果請求mysql_query返回FALSE,你可以檢查與mysql_error錯誤()

+0

嘿,我試圖爲mysql的錯誤,這就是說什麼 警告:mysql_error()期望參數1是資源,布爾給予C:\ xampp \ htdocs \ PhpLearn \ register.php在線79 祝賀你已經註冊點擊這裏返回登錄頁面 – 2012-03-12 14:37:48

+0

請查看http://www.php.net/manual/en/function.mysql-error.php(特別是示例#1)的mysql_error()文檔,這應該有助於你一起。 – 2012-03-12 19:08:09