2015-10-02 41 views
-1

我從HTML表單發佈到PHP。變量不會插入表〜mysqli

我有connect.php它成功地連接到數據庫:

<?php 
    $db = mysqli_connect('localhost','adam','password','easyfix', '3306'); 
    if(mysqli_connect_errno()){ 
     echo "Failed to connect to MYSQL: " . mysqli_connect_error(); 
    } 
?> 

然後我有register.php,我想從HTML表單中插入這些變量。

<?php 
    require 'connect.php'; 
    $username = $_POST["Username"]; 
    $email = $_POST["Email"]; 
    $password = $_POST["Password"]; 
    $cpassword = $_POST["Cpassword"]; 

    //echo $username; 
    //echo $email; 
    //echo $password; 
    //echo $cpassword; 

    mysqli_query($db,"INSERT INTO users (username, email, password) 
    VALUES ('". $username ."', '". $email ."', '". $password ."')"); 
    or die(mysqli_error($db)); 

    $mysqli->close($db); 
?> 

我已經使用回聲來確保數據實際上是張貼的,它有。當我註釋掉mysqli_query時,會顯示迴響。當我離開代碼時,回聲不會顯示出來,我只會看到一個沒有插入數據庫的白頁。

我知道我應該使用準備好的語句,但是我希望在查看之前插入數據。

我已經在這裏簽出了幾個類似的答案,但還沒有找到一個工作。以前我的變量沒有連接,我認爲這樣可以解決問題,但是不會。

這裏是以下形式:

<form action="../php/registration.php" method="POST" name="Login_Form" class="form-signin" > 
<h3 class="form-signin-heading">Register for an account!</h3> 
<hr class="colorgraph"> 
<br> 
<h4> Username:</h4> 
<input type="text" class="form-control" name="Username" placeholder="Username" required="" autofocus="" /> 
</br> 
<h4> Email:</h4> 
<input type="text" class="form-control" name="Email" placeholder="Email" required="" autofocus="" /> 
</br>    
<h4> Password:</h4> 
<input type="password" class="form-control" name="Password" placeholder="Password" required=""/>    
</br> 
<h4> Re-enter password</h4> 
      <input type="password" class="form-control" name="Cpassword" placeholder="Password" required=""/> 
</br> 
<div class="btn-toobar"> 
<button type="submit" class="btn btn-primary">Submit</button> 
      </div> 
</form> 
+2

'回波mysqli_query($分貝,「插入用戶(用戶名,電子郵件,密碼) VALUES('「。$ username。」','。。$ email。「','。。$ password。」')「);'你看到了什麼? – user5173426

+0

回聲沒有顯示。 –

+0

我已經添加了表單,所有使用的文件現在都在運行。 –

回答

1

password是一個MySQL的保留字,因此應該與反引號`一起使用:

INSERT INTO users (username, email, `password`) .... 
+0

這不幸沒有什麼區別,但是謝謝,因爲我不知道密碼是一個保留字。 –

+0

「密碼」是一個「關鍵字」而不是「保留」字。如果您查看https://dev.mysql.com/doc/refman/5.5/en/keywords.html,您會看到旁邊沒有「(R)」。只有當它被用作一種功能時纔是這種情況,事實並非如此。 –