2016-06-21 66 views
1

这里我的代码,我有我提到的问题。我尝试了很多次来解决这个问题,但每次都不起作用。任何人都可以告诉我这段代码有什么问题。刷新一个注册页面时,为什么在表格中增加空行。甚至没有填写表格

include("db\db_connection.php"); 


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

    $name1 = $_POST['fname']; 
    $name2 = $_POST['lname']; 
    $dob = $_POST['dob']; 
    $number = $_POST['pnum']; 
    $email = $_POST['email']; 
    $password = $_POST['psw']; 
    $confirm = $_POST['repsw']; 

    $sql = "INSERT INTO user(user_fname, user_lname, DOB, user_phone_number, user_email, user_password) 
VALUES('$name1', '$name2', '$dob', '$number', '$email', '$password')"; 


    if(!mysqli_query($con, $sql)) { 

     echo "Inserted data"; 

    } else { 

     echo "couldn't insert data 

} 
mysqli_close($con); 
+3

你很容易受到[SQL注入攻击(http://bobby-tables.com),你有语法PHP代码中的错误。另外,不要输出固定/不变的错误消息。它们对于调试是无用的。有'die(mysqli_error($ con))'而不是,所以你可以被告知是否/为什么查询失败。 –

+0

即使未填充,$ _POST数组也会发布。 –

+0

'if(!mysqli_query($ con,$ sql)){'这种情况不是完全错误吗?它的回声插入,而不插入。 – Manikiran

回答

0

此外马克·乙意见,更好地做到这一点,如:

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

$name1 = $_POST['fname']; 
$name2 = $_POST['lname']; 
$dob = $_POST['dob']; 
$number = $_POST['pnum']; 
$email = $_POST['email']; 
$password = $_POST['psw']; 


$servername = "server"; 
$username = "user"; 
$password = "password"; 
$dbname = "dbname"; 


// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
die("Connection failed: " . mysqli_connect_error()); 
} 

$sql = "INSERT INTO user (user_fname, user_lname, DOB, user_phone_number, user_email, user_password) VALUES ('$name1', '$name2', '$dob', '$number', '$email', '$password')"; 

if (mysqli_query($conn, $sql)) { 
echo "Inserted"; 

} else { 
echo "Not Inserted"; 

} 

mysqli_close($conn); 

} 
+0

我在想这应该移到评论部分。 –