2016-09-04 21 views
0

データが挿入されていません。私は、エコー「successs」と「それ以外」でのステートメントを変更しようとするとmysqli insert、何が間違っていますか?

$sql = "INSERT INTO `users` (`Username`, `Password`, `FirstName`, `LastName`, `Email`, `ContactNumber`) 
 
VALUES ('".$_POST["Username"]."','".$_POST["Password"]."','".$_POST["FirstName"]."','".$_POST["LastName"]."','".$_POST["Email"]."','".$_POST["ContactNumber"]."')";

で何か問題があると思います。その働き。 誰かが間違っていることを教えてください。

<?php 
 

 
error_reporting(E_ALL & ~E_NOTICE); 
 

 
if(isset($_POST["Register"])) 
 
{ 
 
\t $servername = "localhost"; 
 
\t $username = "root"; 
 
\t $password = ""; 
 
\t $dbname = "dbuseraccounts"; 
 

 
\t // Create connection 
 
\t $conn = new mysqli($servername, $username, $password, $dbname); 
 
\t // Check connection 
 
\t if ($conn->connect_error) { 
 
\t die("Connection failed: " . $conn->connect_error); 
 
\t } 
 

 
\t 
 
\t \t $user = $_POST['Username']; 
 
\t \t $pass = $_POST['Password']; \t 
 
\t 
 
\t \t $query = mysqli_query($conn, "SELECT * FROM users WHERE Username= '".$user."'"); 
 
\t \t 
 
\t \t if(mysqli_num_rows($query) > 0) 
 
\t \t { 
 
    \t \t echo "email already exists"; 
 
\t \t } 
 
\t \t else 
 
\t \t { 
 
\t \t \t $sql = "INSERT INTO users (Username, Password, FirstName, LastName, Email, ContactNumber) 
 
VALUES ('".$_POST["Username"]."','".$_POST["Password"]."','".$_POST["FirstName"]."','".$_POST["LastName"]."','".$_POST["Email"]."','".$_POST["ContactNumber"]."')"; 
 
\t \t } 
 

 
\t 
 

 
$conn->close(); 
 
} 
 
?>

+0

を使用してクエリを実行してください。あなたのフォームコードもここに入れてください –

+0

あなたはSQLインジェクションを利用できます。あなたはエラーを探していないので、決してあなたに提示されません。 – chris85

答えて

3

あなたもあなたのクエリを実行していないので、あなたのデータが挿入されていません。

if (mysqli_num_rows($query) > 0) { 

    echo "Username already exists"; 

} else { 

    $sql = "INSERT INTO users (Username, Password, FirstName, LastName, Email, ContactNumber) VALUES ('".$_POST["Username"]."','".$_POST["Password"]."','".$_POST["FirstName"]."','".$_POST["LastName"]."','".$_POST["Email"]."','".$_POST["ContactNumber"]."')"; 

    /* Run your query and check for errors */ 
    $query = mysqli_query($conn, $sql) or die(mysqli_error($conn)); 
} 
+0

私はOPにも役立つと思うSQLインジェクションについての注意。 – chris85

+0

ありがとうございました! – Red

1

私はフォーム名は、いくつかの問題を持っている属性だと思う

mysqli_query($conn, your query); 
関連する問題