Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
数据不完整';t从AndroidStudio发送到phpMyAdmin/000webhost_Php_Sql_Web Hosting - Fatal编程技术网

数据不完整';t从AndroidStudio发送到phpMyAdmin/000webhost

数据不完整';t从AndroidStudio发送到phpMyAdmin/000webhost,php,sql,web-hosting,Php,Sql,Web Hosting,我正试图按照本教程创建一个基本的注册和登录应用程序:因为Android Studio中的代码显示了0个编译错误,所以我决定不在这里添加这些错误 怎么了 许多用户在“评论”部分(新旧用户)报告说,他们无法将信息发送到数据库,因此非常感谢任何帮助。用户输入他们的“姓名”、“用户名”、“密码”和“年龄”进行注册,然后将这些信息发送到我在000webhost上托管的数据库。一切都被跟踪到T 该表的名称称为“用户” 下面是我的Login.php文件的代码 <?php $con = mysqli_co

我正试图按照本教程创建一个基本的注册和登录应用程序:因为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);
后跟使用('hostname','username','password','nameofdatabase')

但是,由于我在Mac上执行此操作,因此我的主机是“localhost” 我的数据库名是:id7390457_data 我的数据库用户是:id7390457_User

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

我已经从零开始删除了多个数据库,但我仍然面临这样一个问题:我的信息没有被发送到WebHost上的phpMyAdmin。 我的webhost没有index.html页面,但我认为这不是问题所在

非常感谢。
任何帮助对我来说都是无价之宝。谢谢,祝你一切顺利

大家好,欢迎来到StackOverflow

您是对的,
mysqli\u connect
希望主机、用户、pass和db名称按此顺序排列,因此,如果数据库正在运行,并且值如您所说是正确的,那么这看起来是正常的

但是,在这一行中,请注意第二个参数
ssis

mysqli_stmt_bind_param($statement, "ssis", $name, $age, $username, $password);
它说明参数的类型,
s
表示字符串,
i
表示整数。看起来顺序很混乱,因为
age
应为字符串,而
username
应为整数。如果您将其替换为
siss
,我希望它能正常工作


更多信息:

mysqli\u错误($con)
说了什么?不要存储纯文本密码,你的数据库会被破坏。使用
password\u hash()/password\u verify()
。您正在使用他们的免费托管服务吗?您正在阅读这些评论和下面的答案吗?还要在连接上使用php的错误报告和错误处理。您将看到发生了什么(没有发生)。@FunkFortyNiner我认为000webhost不提供错误报告/处理。是的,我正在使用免费托管服务。我想这可能与我实际调用我的'Register.php'文件有关。我没有一个索引页面来提供到php文件的直接链接,你认为这有什么关系吗?虽然很可能是这个问题,但我觉得这可能会更深入。我敢肯定,他们甚至无法得到一个结果集,但单独一个连接。我再读一遍这个问题,看看他们的网络主机。我对这一点非常了解。您好,非常感谢您的回复!我以前尝试过更改此项以匹配订单,但没有成功。我想这可能与我从Android Studio调用'Register.php'文件有关。我可能需要一个索引页来直接调用它?
$con = mysqli_connect("localhost", "id7390457_user", "abcd1234", "id7390457_data");
mysqli_stmt_bind_param($statement, "ssis", $name, $age, $username, $password);