好的,嗨。所以我试图创建一个使用MySQL数据库生成RecylerView的Android应用程序。要获取数据,我在同一台服务器上使用PhP文件存储。但我想扩展App一点。现在,如果我调用此行:$query = 'SELECT * FROM items WHERE catid = "$catid"';
,结果为空。
奇怪的事情是:如果我在PhPMyAdmin中输入查询,它会显示正确的结果。
这是完整的PHP文件(删除了数据库登录)(安全强制免责声明:我的英语不流利,请原谅一些错字c:)
编辑:我认为有些人误解了:问题不在Android中......我很有信心。而“生成”..只是忽略我不知道我可以使用的其他Word。所以问题只在PHP文件中<?php
$connection = mysqli_connect("","","","");
$type = $_GET["t"];
if($type == "categorys"){
$query = "SELECT * FROM categorys";
}else{
$catid = $_GET["id"];
$query = 'SELECT * FROM items WHERE catid = "$catid"';
}
$result = mysqli_query($connection,$query);
while ($row = mysqli_fetch_assoc($result)) {
$array[] = $row;
}
header('Content-Type:Application/json');
echo json_encode($array);
?>
答案 0 :(得分:1)
$query = "SELECT * FROM items WHERE catid = $catid";
如果catid是一个字符串,那么:
$query = "SELECT * FROM items WHERE catid = '$catid'";
无论如何,你应该使用prepared statement。
答案 1 :(得分:0)
试试这个:
$query = "SELECT * FROM items WHERE catid = '$catid'";
或:
$query = "SELECT * FROM items WHERE catid = '".$catid."'";