我创建了一个登录和注册屏幕,使用sql作为数据库,php作为脚本语言。 android上的Java代码工作正常,但是当我在注册屏幕上输入用户信息并点击注册按钮时,数据不会插入到我的数据库中。所以我假设我的php文件有问题。
以下是我的php文件:
require "connection.php";
$first_name = $_GET['first_name'];
$last_name = $_GET['last_name'];
$email = $_GET['email'];
$password = $_GET['password'];
$mobile_no = $_GET['mobile_no'];
$carplate_no = $_GET['carplate_no'];
if($first_name == '' || $last_name == '' || $email == '' || $password == ''
|| $mobile_no == '' || $carplate_no == '')
{
echo 'Please fill all values';
}
else {
$sql = "SELECT * FROM Users WHERE email='$email' OR password='$password'";
$check = mysqli_fetch_array(mysqli_query($connection,$sql));
if(isset($check)){
echo 'email already exists';
}
else{
$sqli="INSERT INTO Users (first_name,last_name,email,password,mobile_no,carplate_no) VALUES ('$first_name','$last_name','$email','$password','$mobile_no','$carplate_no')";
if(mysqli_query($connection,$sql)){
echo'Registered Successfully';
}
else {
echo 'Oops...Try again';
}
}
mysqli_close($connection);
}
?>
答案 0 :(得分:0)
该行将始终返回TRUE,因为$ check已在if if条件之前初始化。
变化:
if(isset($check)){
到
if(is_array($check)){
以上检查是否检索到与使用过的电子邮件和密码相匹配的记录。
以下查询应与电子邮件和密码相匹配。不只是其中任何一个。
这
$sql = "SELECT * FROM Users WHERE email='$email' OR password='$password'";
到
$sql = "SELECT * FROM Users WHERE email='$email' AND password='$password'";