数据没有从AndroidStudio发送到phpMyAdmin / 000webhost

时间:2018-10-07 21:14:13

标签: php sql web-hosting


我正在尝试按照本教程https://www.youtube.com/watch?v=JQXfIidfFMo&t=193s创建基本的注册和登录应用程序,并且由于Android Studio中的代码显示0编译错误,所以我决定不将其放在此处。

怎么了

许多用户在新旧评论部分中都报告说,他们无法将信息发送到他们的数据库,因此,我们将不胜感激。用户输入其“名称”,“用户名”,“密码”和“年龄”进行注册,然后将该信息发送到位于000webhost上的我的数据库。一切都遵循了T。

表的名称称为“用户”。

这是我Login.php文件中的代码

<?php
$con = mysqli_connect("localhost:3306","id7390457_user","abcd1234","id7390457_data");

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

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

mysqli_stmt_store_result($statement);
mysqli_stmt_bind_result($statement, $user_id, $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);

?>

这是我Register.php文件中的代码

<?php
$con = mysqli_connect("localhost", "id7390457_user", "abcd1234", "id7390457_data");

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

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

echo json_encode($response);

?>

我一直觉得那条线

$con = mysqli_connect("localhost", "id7390457_user", "abcd1234", "id7390457_data");

后跟使用('hostname','username','password','nameofdatabase')

但是,当我从Mac上执行此操作时,我的主机是“ localhost” 我的数据库名称是:id7390457_data 我的数据库用户是:id7390457_user

我尝试使用'localhost:3306' 我只尝试了“用户”和“数据” 我看过YouTube视频,用其他语言访问过网站,但似乎都没有提供任何建议。

我从头开始删除了多个数据库,但是仍然面临着我的信息无法发送到000webhost上的phpMyAdmin的问题。 我的网络托管商没有index.html页面,但我认为这不是问题。

谢谢

任何帮助对我来说都意味着世界。谢谢,祝你一切顺利!

1 个答案:

答案 0 :(得分:0)

嗨,欢迎来到StackOverflow!

您是对的,mysqli_connect希望主机,用户,密码和数据库名按该顺序排列,因此,如果数据库正在运行并且值如您所说正确,则看起来不错。

但是,请注意第二个参数ssis

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

它声明参数的类型,s表示字符串,i表示整数。顺序似乎混乱了,因为age应该是字符串,username是整数。如果您将其替换为siss,我希望它可以正常工作。

更多信息:https://secure.php.net/manual/en/mysqli-stmt.bind-param.php