好的,所以我正在尝试为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';。第二个是覆盖另一个。
因此,您需要重命名其中之一。
另外,如果您的服务器支持预处理语句,您应该真正切换到带有预准备语句的 PDO或mysqli_*
预准备语句,因为mysql_*
函数已被弃用。
试试这个$query = "SELECT * FROM AppLogin WHERE Username = '$user' ";