При вставке имени пользователя на странице регистрации оно превращается в ноль (0) в базе данных phpmyadmin - PullRequest
0 голосов
/ 07 сентября 2018

Я использую 000webhost для своего приложения для входа / регистрации на Android, и при вводе данных все столбцы заполняются в базе данных, кроме имени пользователя, оно обнуляется и не выдает ошибки

имя пользователя превращается в ноль

Структура

register.php

<?php

    $name = $_POST["name"];
    $age = $_POST["age"];
    $username = $_POST["username"];
    $password = $_POST["password"];

    $statement = mysqli_prepare($con, "INSERT INTO user (name, username, age, password) VALUES (?, ?, ?, ?)");
    mysqli_stmt_bind_param($statement, "siss", $name, $username, $age, $password);
    mysqli_stmt_execute($statement);

    $response = array();
    $response["success"] = true;  

    echo json_encode($response);
?>

login.php

    $username = $_POST["username"];
    $password = $_POST["password"];

    $statement = mysqli_prepare($con, "SELECT * FROM user WHERE username = ? AND password = ?");
    mysqli_stmt_bind_param($statement, "ss", $username, $password);
    mysqli_stmt_execute($statement);

    mysqli_stmt_store_result($statement);
    mysqli_stmt_bind_result($statement, $userID, $name, $age, $username, $password);

    $response = array();
    $response["success"] = false;  

    while(mysqli_stmt_fetch($statement)){
        $response["success"] = true;  
        $response["name"] = $name;
        $response["age"] = $age;
        $response["username"] = $username;
        $response["password"] = $password;
    }

    echo json_encode($response);
?>

1 Ответ

0 голосов
/ 08 сентября 2018

При вызове связывания параметров вы определяете имя пользователя как целое число (i) ...

mysqli_stmt_bind_param($statement, "siss", $name, $username, $age, $password);

Это должно быть s, чтобы оставить его в виде строки, а возраст может быть целым числом.

mysqli_stmt_bind_param($statement, "ssis", $name, $username, $age, $password);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...