2015-10-02 2 views
-1

Я отправляю из формы в html на PHP.Переменные wont insert into table ~ 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 ($ дб, "INSERT INTO пользователей (имя пользователь , email, пароль) VALUES ('". $ username."', '". $ email."', '". $ password."') ");' и что вы видите? – user5173426

+0

Ничего не отображалось с эхом. –

+0

Я добавил форму, все файлы, используемые в op теперь. –

ответ

1

password является MySQL зарезервированного слова и поэтому его следует использовать с обратными кавычками `:

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

Это, к сожалению, не имело значения, но спасибо, поскольку я не знал, что пароль был зарезервированным словом. –

+0

«пароль» - это «ключевое слово», а не «зарезервированное» слово. Если вы посмотрите на https://dev.mysql.com/doc/refman/5.5/en/keywords.html, вы увидите, что рядом с ним нет '(R)'. Это только тот случай, если он использовался как функция, а это не так. –

Смежные вопросы