2015-10-02 36 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)”。只有当它被用作一种功能时才是这种情况,事实并非如此。 –