2012-03-11 139 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