PHP如果条件奇怪

时间:2015-03-10 01:24:02

标签: php mysql if-statement

我想通过XAMPP制作简单的登录服务器,

我使用PHP,我的意图是(注册):

  1. 客户端通过HTTP POST发送ID,用户名和密码

  2. 服务器检查其数据库(使用SELECT Query)。如果存在相同的ID或用户名,则注册失败并响应(“注册设备或用户名”)。

  3. 如果没有相同的ID和用户名,注册成功(使用INSERT查询)和响应(“注册成功”或“注册失败”)。

  4. 这是我的代码。

    <?php
    $hostname_localhost ="localhost";
    $database_localhost ="mydatabase";
    $username_localhost ="root";
    $password_localhost ="";
    $id_localhost ="";
    $localhost = mysql_connect($hostname_localhost,$username_localhost,$password_localhost, $id_localhost)
    or
    trigger_error(mysql_error(),E_USER_ERROR);
    
    mysql_select_db($database_localhost, $localhost);
    
    $username = $_POST['username'];
    $password = $_POST['password'];
    $id = $_POST['id'];
    
    $query_search_name = "select * from tbl_user where username = '".$username."'";
    $query_search_id = "select * from tbl_user where id = '".$id."'";
    
    $query_exec_name = mysql_query($query_search_name) or die(mysql_error());
    $query_exec_id = mysql_query($query_search_id) or die(mysql_error());
    
    $rows_id = mysql_num_rows($query_exec_id);
    $rows_name = mysql_num_rows($query_exec_name);
    
    if($rows_id != 0 || $rows_name != 0){
        echo "Registered Device or Username";
        exit;
    } else {
        $query_register = "INSERT INTO tbl_user (id, username, password) VALUES ('$id', '$username', '$password')";
        $result = mysql_query($query_register) or die(mysql_error());
        if($result == TRUE){
            echo "Register Success";
        } else {
            echo "Register Fail";
        }
        exit;
    }
    ?>
    

    客户获得“注册设备或用户名”响应,但注册成功。

    INSERT查询成功运行,我的数据库中已知道记录。

    那么为什么客户端得到(或服务器发送)错误的响应?

    我在PHP方面很差......但如果条件与php知识无关......

0 个答案:

没有答案