PHP не передает правильные данные в MYSQL - PullRequest
0 голосов
/ 19 октября 2018

Я не могу передать правильные данные в MySQL. Я понятия не имею, что я сделал неправильно. Пожалуйста, помогите мне, мой код выглядит следующим образом:

$con = mysqli_connect('localhost', 'root', '', 'database');
if($con) {
    echo "we are connected";
} else {
    die("connection failed");
}

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

    // echo "Yeah it works";
    $user = $_POST['username'];
    $pass = $_POST['password'];

    $query = "INSERT INTO users(username, password) VALUES ('$user', '$pass')";
    $result = mysqli_query($con, $query);

    if(!$result) {
        die("Query failed");
    }
}

Когда я запускаю этот код, я получаю0 для username и 0 для password.что бы я ни набрал для username и password, я получаю 0 в базе данных.enter image description here

1 Ответ

0 голосов
/ 19 октября 2018

Попробуйте этот код, который также удаляет SQL-инъекции .

$con = mysqli_connect('localhost', 'root', '', 'database');

if(! $con )
    die('Unable to connect');

foreach(array('submit', 'username', 'password') as $arg)
    if(! isset($_POST[$arg]) )
        die('Missing argument(s)');

unset($arg);
http_response_code(200);

$username = $con->real_escape_string($_POST['username']);
$password = $con->real_escape_string($_POST['password']);

$query = "INSERT INTO users (username, password) VALUES ('{$username}', '{$password}')";
if(! mysqli_query($con, $query))
    http_response_code(400);

Если этот код не работает, убедитесь, что username и пароль из вашей таблицы varchar's not int's .(Поскольку ваш скрипт вставляет значение 0 )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...