2013-02-28 230 views
0

我似乎遇到了一些我的PHP的麻烦。它从HTML页面获取数据,然后将其添加到MySQL数据库中,但信息未显示。PHP的错误MySQL代码

<?php 

    // Variables 
    $email = $_POST["email"]; 
    $username = $_POST["username"]; 
    $password = $_POST["password"]; 
    $passwordconfirmation = $_POST["passwordconfirmation"]; 

    // Failure 
    if ($password !== $passwordconfirmation) 
    { 
     echo "The password fields do not match. Please enter your password again."; 
    } 

    // Success 
    else 
    { 
    $connection = mysqli_connect("*****.com", "*****", "*****", "charlesfriessdatabase"); // Connect 

    // Error Message 
    if (!$connection) 
    { 
     die ("Error"); 
    } 

    mysqli_query("INSERT INTO accounts (email, username, password) VALUES ($email, $username, $password)"); // Inserter 

    mysqli_close($connection); // Connection Closer 

    echo "You have successfully signed up! Please check your email to confirm your account."; // Success Message 
} 

?> 
+4

你检查你的错误日志?你会得到什么错误?你采取了哪些步骤来解决这个问题? – 2013-02-28 02:11:22

+3

您的SQL查询是可注入的。使用预准备的语句 – Blender 2013-02-28 02:13:53

+0

我没有收到任何错误。它完成正确,但没有在我的MySQL数据库中的条目。 – 2013-02-28 02:15:05

回答

3

在你需要把'尝试添加该字符,让我们知道的变量。

这是怎么应该是:

mysqli_query("INSERT INTO accounts (email, username, password) VALUES ('$email', '$username', '$password')"); 
+0

这样做!谢谢! – 2013-02-28 02:22:20

+0

*旁注:*您的代码需要SQL注入。总是通过'mysql_real_escape_string()'或'mysqli_real_escape_string()'转义输入' – Raptor 2013-02-28 02:56:48

1

if ($password !== $passwordconfirmation)

变化

if ($password != $passwordconfirmation) 
+0

仍然无法正常工作,谢谢! – 2013-02-28 02:19:14

0

你有一个语法错误。这

if ($password !== $passwordconfirmation) 

应该

if ($password != $passwordconfirmation) 

只有一个=

0

试试!=代替!==上的密码进行比较。

也许

if (!$connection) { 
    die('Connect Error: ' . mysqli_connect_errno()); 
}