Java代码正在运行,但PHP不是

时间:2018-03-20 12:01:08

标签: php mysql

我创建了一个登录和注册屏幕,使用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);
}

?>

1 个答案:

答案 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'";