在注册页面中插入用户名时,它在phpmyadmin数据库中变为零(0)

时间:2018-09-07 20:36:30

标签: java php mysql android-studio phpmyadmin

我正在将000webhost用于我的android登录/注册应用,输入数据时,所有列均填充到数据库中,除了用户名,它变为零且没有错误

username turns into zero

Structure

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 :(得分:1)

在绑定参数的调用中,您将用户名定义为整数(i)...

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

这应该是一个s,将其保留为字符串,并且年龄可能是整数。

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