2016-08-20 2 views
-1

EDIT: На это был дан ответ. Используйте комментарий для справки.Моя регистрационная форма php/mysql не работает. Что я делаю?

Итак, я создаю свою социальную сеть под названием Dabox! и запрограммировали регистрационную форму. Я проверил его, указав имя пользователя, пароль и электронную почту.

Я ввел свое имя пользователя в качестве теста, мой пароль при тестировании и адрес электронной почты как [email protected] я проверил его и он вышел как:

INSERT INTO пользователей (имя пользователя, пароль, электронная почта) VALUES ('тест', 'тест', '') [email protected] SQLSTATE [23000]: Integrity ограничение нарушение: 1062 Дублируемая запись '' для ключа 'PRIMARY'.

Мой код был:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = "password"; 
$dbname = "daboxdb"; 
$user = ($_POST['user']); 
$pass = ($_POST['pass']); 
$mail = ($_POST['email']); 
try { 
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
    // set the PDO error mode to exception 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $sql = "INSERT INTO users (username, password, email) 
    VALUES ('$user', '$pass', '$mail')"; 
    // use exec() because no results are returned 
    $conn->exec($sql); 
    echo "New record created successfully"; 
    } 
catch(PDOException $e) 
    { 
    echo $sql . "<br>" . $e->getMessage(); 
    } 

$conn = null; 
?> 

Я не знаю, в чем проблема. Вы можете мне помочь?

+0

Вы не собираетесь жить с этим реальным кодом, я надеюсь. –

+0

im используя другой код, который работает – Moo06

ответ

0

проверьте ID столбец, который будет действовать как первичный ключ. Вы пытаетесь вставить duplicate данные

+0

Он сработал! Спасибо – Moo06

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