Sql 不会在 WHERE 获取值


Sql won't get values WHERE

好的,所以我正在尝试为iOS创建一个应用程序。

我的问题是,我认为,当使用JSON并将其与sql结合使用时,不知何故它不起作用。

所以这是我的代码

<?php
$user='Admin';
echo $user;

    $host='HOST';
    $user='USER';
    $password='PASSWORD';

    $connection = mysql_connect($host,$user,$password);
    if(!$connection){
        die('Connection Failed');
    }
    else{
        $dbconnect = @mysql_select_db('DATABASE', $connection);
        if(!$dbconnect){
            die('Could not connect to Database');
        }
        else{
            $query = "SELECT * FROM AppLogin WHERE Username = '".$user."' ";
            $resultset = mysql_query($query, $connection);
            $records= array();
            while($r = mysql_fetch_assoc($resultset)){
                $records[] = $r;
            }
            echo json_encode($records);
        }
    }
?>

我得到的输出是

管理员[]

如果我这样做

<?php

        $host='HOST';
        $user='USER';
        $password='PASSWORD';

        $connection = mysql_connect($host,$user,$password);
        if(!$connection){
            die('Connection Failed');
        }
        else{
            $dbconnect = @mysql_select_db('DATABASE', $connection);
            if(!$dbconnect){
                die('Could not connect to Database');
            }
            else{
                $query = "SELECT * FROM AppLogin WHERE Username = 'Admin' ";
                $resultset = mysql_query($query, $connection);
                $records= array();
                while($r = mysql_fetch_assoc($resultset)){
                    $records[] = $r;
                }
                echo json_encode($records);
            }
        }
    ?>

我得到了我想要的输出:

[{"用户名":"管理员","密码":"密码"}]

为什么当我使用 WHERE = '".$value."时 sql 不起作用

阿尔宾

正如我在评论中提到的:

"$user='管理员';和 $user='USER';。第二个是覆盖另一个。

因此,您需要重命名其中之一。

另外,如果您的服务器支持预处理语句,您应该真正切换到带有预准备语句PDOmysqli_*预准备语句,因为mysql_*函数已被弃用。

试试这个$query = "SELECT * FROM AppLogin WHERE Username = '$user' ";