数据未插入数据库

I am trying to create a signup form and insert them to the database. I coded it right according to my knowledge, but it displays users already exits but no records in my database. From my Signup form

if (isset($_POST['btn_signup'])) {

$fname = $_POST['fname'];
$lname = $_POST['lname'];
$usernme = $_POST['username'];
$pass = $_POST['password'];
$email = $_POST['email'];
$country = $_POST['country'];
$dropdown = $_POST['dropdown'];


$query = "INSERT INTO tbl_users (first_name,last_name,username,password,email,country,user_type)VALUES('{$fname}','{$lname}','{$usernme}','{$pass}','{$email}','{$country}','{$dropdown}')";

$result = mysql_query($query, $con);


if ($result) {

    echo "<script type='text/javascript'>alert('submitted successfully!')</script>";
} else {

    echo "<script type='text/javascript'>alert('User already exist!')</script>";
}

}

the form is

         <form action="signup.php" method="post" class="form">
                <input type="text" name="fname" placeholder="First Name" required="First Name"><br/>
                <input type="text" name="lname" placeholder="Last Name" required="Last Name"><br/>
                <input type="text" name="username" placeholder="Username" required="Username"><br/>
                <input type="password" name="password" placeholder="Password" required="Password"><br/>
                <input type="email" name="email" placeholder="Email" required="Email"><br/>
                <input type="text" name="country" placeholder="Country" required="Country"><br/>

               <select class="wrapper-dropdown" name="dropdown">
                    <option value=1>Player</option>
                    <option value=2>Recruiters</option>


                </select>
                <br/> <br/> <br/>
                <button type="submit" name="btn_signup">Signup</button>
                <p>Get in to your account <a href="index.php">Signin</a></p>
            </form>

the database is in this order. users_id,first_name,last_name,username,password,email,country,user_type

please help!!

Your query has a typo...

$query = "INSERT INTO tbl_users (first_name,last_name,username,password,email,country,user_type)VALUES('{$fname}','{$lname}','{$usernme}','{$pass}','{$email}','{$country}','{$dropdown}')";

it should be {username}not {usernme}

I can't comment because of low rp. I will delete this answer if typo is not the issue

Try this code. It will work.

$query = "INSERT INTO tbl_users (first_name,last_name,username,password,email,country,user_type)
    VALUES('$fname','$lname','$usernme','$pass','$email','$country','$dropdown')";

$result = mysql_query($query, $con);


if ($result) { 
    echo "<script type='text/javascript'>alert('submitted successfully!')</script>";
} else {
    echo "<script type='text/javascript'>alert('User already exist!')</script>";
}

Please try this solve your problem:

Code:-

if(isset($_REQUEST['btn_signup']) && trim($_REQUEST['btn_signup']) == "Signup")
{   
    $fname = addslashes(trim($_REQUEST['fname']));
    $lname = addslashes(trim($_REQUEST['lname']));
    $username = addslashes(trim($_REQUEST['username']));    
    $password = addslashes(trim($_REQUEST['password']));    
    $email = addslashes(trim($_REQUEST['email']));
    $country = addslashes(trim($_REQUEST['country']));
    $dropdown = addslashes(trim($_REQUEST['dropdown']));


    $query = "INSERT INTO tbl_users (`first_name`,`last_name`, `username`, `password`, `email`, `country`, `user_type`)
        VALUES ('".$fname."', '".$lname."','".$username."','".$password."','".$email."','".$country."', '".$dropdown."')";
    $result = mysql_query($query, $con);
    if ($result) {

        echo "<script type='text/javascript'>alert('submitted successfully!')</script>";
    } else {

        echo "<script type='text/javascript'>alert('User already exist!')</script>";
    }
}

Your form here:-

<form action="signup.php" name="signup_form" id="signup_form" method="post" class="form" enctype="multipart/form-data">
    <input type="text" name="fname" placeholder="First Name" required="First Name"><br/>
    <input type="text" name="lname" placeholder="Last Name" required="Last Name"><br/>
    <input type="text" name="username" placeholder="Username" required="Username"><br/>
    <input type="password" name="password" placeholder="Password" required="Password"><br/>
    <input type="email" name="email" placeholder="Email" required="Email"><br/>
    <input type="text" name="country" placeholder="Country" required="Country"><br/>

    <select class="wrapper-dropdown" name="dropdown">
        <option value=1>Player</option>
        <option value=2>Recruiters</option>
    </select>
    <br/> <br/> <br/>
    <button type="submit" name="btn_signup" id="btn_signup" value="Signup">Signup</button>
    <p>Get in to your account <a href="index.php">Signin</a></p>
</form>

Based on this comment:

I tried to insert values manually then it says Incorrect integer value: '' for column 'tbl_health_health_id' at row 1

And this comment:

i made relationship with the tbl_users and tbl_bowlAverg

You have a trigger, a stored procedure or a function in your database.

The easiest way of checking is "SHOW TRIGGERS" (https://dev.mysql.com/doc/refman/5.0/en/show-triggers.html) or "SHOW PROCEDURE STATUS" (https://dev.mysql.com/doc/refman/5.0/en/show-procedure-status.html) or "SHOW FUNCTION STATUS"

The trigger (or procedure that the trigger will call) will be

CREATE TRIGGER triggerName BEFORE INSERT ON tbl_users
-> FOR EACH ROW INSERT INTO tbl_bowlAverg(fields) values (values);

It's that second query causing you a problem: try running it separately to debug that bit alone.

You problem will be that tbl_health_health_id will be set to be an integer and not null, but you are either trying to insert a string (in which case, modify your trigger) or a null (in which case either specify a value in your insert string, specify a default value in your table schema, or allow nulls).

One tip: unless you have a really good reason to use nulls, always specify default values for your fields unless you are absolutely sure you'll provide one.