大家好,我目前正在尝试为android应用程序创建登录活动,但我不知道为什么注册时未存储用户数据。php文件是否有问题,如下所示?
Register.php为用户存储注册
<?php
$con = mysqli_connect("mysql13.000webhost.com", "a1641537_fetch", "password", "a1641537_fetchdb");
$name = $_POST["name"];
$username = $_POST["username"];
$password = $_POST["password"];
$statement = mysqli_prepare($con, "INSERT INTO Fetch (name, username, password) VALUES (?, ?, ?) ");
mysqli_stmt_bind_param($statement, "sss", $name, $username, $password);
mysqli_stmt_execute($statement);
mysqli_stmt_close($statement);
mysqli_close($con);
?>
FetchUserData.php获取用户的用户名和密码。
<?php
$con = mysqli_connect("mysql13.000webhost.com", "a1641537_fetch", "password", "a1641537_fetchdb");
$username = $_POST["username"];
$password = $_POST["password"];
$statement = mysqli_prepare($con, "SELECT * FROM Fetch 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, $name, $username, $password);
$user = array();
while(mysqli_stmt_fetch($statement)) {
$user[name] = $name;
$user[username] = $username;
$user[password] = $password;
}
echo json_encode($user);
mysqli_stmt_close($statement);
mysqli_close($con);
?>
fetch
是mysql中的保留字,因此您需要在反引号中将其引号。
例如:
$statement = mysqli_prepare($con, "INSERT INTO `Fetch` (name, username, password) VALUES (?, ?, ?) ");
为了捕获这些类型的错误,添加错误处理很有用。我更喜欢通过在发生任何错误时让msyqli引发异常来做到这一点。
要激活它,只需将其添加mysqli_report(MYSQLI_REPORT_STRICT);
到脚本顶部,并确保显示错误。
如果您不添加任何尝试-catch自己阻止,则phpunhandled exception error
在出现问题时会向您显示详细信息,因此您可以从那里解决。显然,在实时代码中,这不是处理该问题的首选方法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句