2014-02-21 3 views
-2

Моя запись не вставляется в базу данных? может кто-то, пожалуйста, помогите мне с этим? я бы очень благодарен вам за это.Не удается добавить пользователя

<?php 
# user_add.php 
$connection = mysqli_connect('localhost', 'root', 'root', 'databasename'); 


if(isset($_POST['user_addition'])) { 

    $firstname = $_POST['first_name']; 
    $lastname = $_POST['last_name']; 
    $email = $_POST['email']; 
    $password = $_POST['password']; 

    mysqli_query($connection, "INSERT INTO users (first_name, last_name, email, password) VALUES ('$_POST[first_name]', 
     '$_POST[last_name]', '$_POST[email]', '$_POST[password]'"); 

    echo 'User has been added'; 
    mysqli_close($connection); 

} 

?> 
<!DOCTYPE html> 
<html lang="en"> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <div style="width: 500px; padding: 5px; margin: 0 auto;"> 
      <fieldset> 
       <legend>Add User to the database</legend> 
        <form method="POST" action="user_add.php"> 
       First name: <br/> <input type="text" name="first_name"> <br/> 
       Last name: <br/> <input type="text" name="last_name"> <br/> 
       Email: <br/> <input type="text" name="email"> <br/> 
       Password: <br/> <input type="text" name="password"> <br/> 
       <input type="submit" value="Register" name="user_addition"> 
        </form> 
      </fieldset> 
     </div> 
    </body> 
</html> 

Это мой документ. Еще раз спасибо, если кто-нибудь может помочь.

+1

Что он делает? Вы получили сообщение об ошибке? – Daanvn

+0

Он фактически не вставлен в базу данных, без ошибок. – user3274696

+0

вы пропустили ')' в вашем запросе – krishna

ответ

1

Вы читаете значения $ _POST, затем присваиваете эти значения переменным, но вы не используете эти переменные. Вы должны это изменить.

$firstname = $_POST['first_name']; 
$lastname = $_POST['last_name']; 
$email = $_POST['email']; 
$password = $_POST['password']; 

mysqli_query($connection, "INSERT INTO users (first_name, last_name, email, password) 
VALUES ('$firstname', '$lastname', '$email', '$password')"); 
+0

нет необходимости изменять имена переменных из переменных post – krishna

+0

Будьте осторожны; было бы обидно, если бы кто-то ввел SQL сюда. Поскольку у вас есть доступ к mysqli, вы также должны иметь доступ к подготовленным операторам. –

+1

@ krishna Нет, он прав. Переменная замещения в двойных кавычках для массивов должна находиться между фигурными фигурными скобками ('{$ _POST ['значение']}') или должна быть не в массиве/объекте. Подход Theox действителен. –

0

У вас возникла ошибка в запросе. вы пропустили ). Также всегда проверяйте, выполняется ли запрос или нет.

mysqli_query($connection, "INSERT INTO users (first_name, last_name, email, password) VALUES ('$_POST[first_name]', 
     '$_POST[last_name]', '$_POST[email]', '$_POST[password]')") or die(mysqli_error($connection)); 
+0

Still не удалось устранить проблему – user3274696

+0

Ошибка – krishna

+0

Не было ошибок даже до того, как они пропали без вести), он просто не вставлен в базу данных, действительно странно. У меня также нет никаких опечаток. – user3274696

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