数据未插入数据库游戏注册

时间:2016-09-01 07:07:45

标签: php mysql

所以我正在制作一个网页游戏应用我的问题是我的register.php没有在数据库中插入用户请通过我只是一个初学者的方式需要帮助PHP谢谢

以下是代码:

<?php
    require_once('mysql_conn.php');
    $Username = mysql_real_escape_string($_POST['Username']);
    $Password = md5(mysql_real_escape_string($_POST['Password']));
    $Email = mysql_real_escape_string($_POST['Email']);

    $query_check ="SELECT user_name FROM account_info WHERE user_name = '$Username'";
    $retval_check = mysql_query( $query_check, $conn );

    if( $Username == "" || $Password == "" || $Email == "" ){
        echo"Please fill the field";
    } else{
        if(mysql_num_rows($retval_check)){
            echo"Username Already Taken";
        } else {
            $query = "INSERT INTO account_info(user_name,user_passemail) VALUES ('$Username','$Password','$Email');";
            $retval = mysql_query( $query, $conn );

            echo "<script>";
            echo "alert('Thank you for registering Enjoy the game !')";        
            echo "</script>";

            echo "<script>";
            echo 'location.href = "menu.html";';
            echo "</script>";
        }
    }

     mysql_close($conn);

?>

3 个答案:

答案 0 :(得分:4)

变化:

$query = "INSERT INTO account_info(user_name,user_passemail) VALUES ('$Username','$Password','$Email');";

致:

$query = "INSERT INTO account_info(user_name,user_pass,email) VALUES ('$Username','$Password','$Email');";

您忘记添加逗号&#34;,&#34;

答案 1 :(得分:2)

  

警告mysql_query,mysql_fetch_array,mysql_connect等..扩展在PHP 5.5.0中已弃用,并且已在PHP 7.0.0中删除。   相反,应该使用MySQLi或PDO_MySQL扩展。

你很想念列名中的user_pass和电子邮件之间的昏迷

$query = "INSERT INTO account_info(user_name,user_pass,email) VALUES ('$Username','$Password','$Email');";

尝试mysqli

            //db connection

             global $conn;

                $servername = "localhost";  //host name

                $username = "username"; //username

                $password = "password"; //password

                $mysql_database = "dbname"; //database name

            //mysqli prepared statement 

                $conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error());

               mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong");


        //require_once('mysql_conn.php');

        $Username = mysqli_real_escape_string($_POST['Username']);
        $Password = md5(mysqli_real_escape_string($_POST['Password']));
        $Email = mysqli_real_escape_string($_POST['Email']);

        //$query_check ="SELECT user_name FROM account_info WHERE user_name = '$Username'";
       // $retval_check = mysqli_query( $query_check, $conn );

       if(!empty($Username))
       {


            $stmt = $conn->prepare("SELECT user_name FROM account_info WHERE user_name =? ");

                            $stmt->bind_param('s',$Username);

                            The argument may be one of four types:

                            i - integer
                            d - double
                            s - string
                            b - BLOB
                            //change it by respectively 

                            $stmt->execute();

                            $get_result =$stmt->get_result();

                            $row_count= $get_result->num_rows;

                            //$row_count= $stmt->affected_rows;

                            $stmt->close();
                             //$conn->close();




       }                     

        if( $Username == "" || $Password == "" || $Email == "" ){
            echo"Please fill the field";
        } else{
            if($row_count>0){
                echo"Username Already Taken";
            } else {
                //$query = "INSERT INTO account_info(user_name,user_pass,email) VALUES ('$Username','$Password','$Email');";
                                                                       ^^^^^ 
                //$retval = mysql_query( $query, $conn );

                $stmt1 = $conn->prepare("INSERT INTO account_info(user_name,user_pass,email) VALUES (?,?,?)");

                            $stmt->bind_param('sss',$Username,$Password,$Email);

                            The argument may be one of four types:

                            i - integer
                            d - double
                            s - string
                            b - BLOB
                            //change it by respectively 

                            $stmt1->execute();

                            //$get_result1 =$stmt1->get_result();

                            //$row_count1= $get_result1->num_rows;

                            $row_count1= $stmt1->affected_rows;

                            $stmt1->close();
                             $conn->close();
                            if($row_count1>0)
                            {
                                echo "<script>";
                                echo "alert('Thank you for registering Enjoy the game !')";        
                                echo "</script>";

                            }
                            else
                            {
                                echo "<script>";
                                echo "alert('registeration failed')";        
                                echo "</script>";


                            }


                            echo "<script>";
                            echo 'location.href = "menu.html";';
                            echo "</script>";
            }
        }

答案 2 :(得分:0)

  $query = "INSERT INTO account_info(user_name,user_passemail) VALUES ('$Username','$Password','$Email');";

正确

  $query = "INSERT INTO account_info(user_name,user_pass,email) VALUES ('$Username','$Password','$Email')";