PhP MySQL“WHERE”查询返回null /为空
问题描述:
好的,你好。所以我试图创建一个Android应用程序,使用MySQL数据库来生成一个RecylerView。为了获得数据,我在同一台服务器上使用PhP文件存储。但我想扩展应用程序。现在如果我打电话给这条线:$query = 'SELECT * FROM items WHERE catid = "$catid"';
结果是空的。PhP MySQL“WHERE”查询返回null /为空
奇怪的事情是:如果我在PhPMyAdmin中输入查询,它会显示正确的结果。
下面是完整的PHP-文件(数据库登录删除)(Annnd强制性免责声明:我的英语不流利,所以请原谅一些错别字C :)
编辑:我觉得有些人missunderstood:问题不在于Android ..我确定。而“生成” ..只是忽略我不知道我会用什么样的词。所以这个问题是只在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);
?>
答
写这个样子,与double-quotes:
$query = "SELECT * FROM items WHERE catid = $catid";
如果CATID是一个字符串,然后:
$query = "SELECT * FROM items WHERE catid = '$catid'";
无论如何,你应该使用prepared statement。
答
试试这个:
$query = "SELECT * FROM items WHERE catid = '$catid'";
或:
$query = "SELECT * FROM items WHERE catid = '".$catid."'";
确定'$ catid'具有价值? –
* ...使用MySQL数据库生成RecylerView ... * MySQL不能“生成”RecylerView',因为它对Andorid平台一无所知 – Selvin
@Selvin我猜这是REST的服务器端API,而不是从PHP脚本动态生成'RecyclerView.Adapter'(这是不可能的) –