2013-02-28 225 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()); 
}