我最近得到了一个PHP脚本,我写的是将数据返回到我的android java代码,不幸的是,当我调用表格的第一行时,脚本只会返回数据。
我的表格格式如下:
1 Jared Jones
2 Karla Cross
3 Jasmine Smith
4 Vince Stevens
数字对应于UserId,其他2个属性为FName和LName。
我执行MySQL脚本的php脚本如下:
<?php
mysql_connect("my database credentials go here");
mysql_select_db("a2275354_gtchose");
$sql=mysql_query("select FName,LName from Test where UserId ='".$_REQUEST['userId']."' ");
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
print(json_encode($output));
mysql_close();
?>
我不确定为什么我收到结果的唯一时间是当我将1作为userId传递给查询时。有什么想法吗?
由于
答案 0 :(得分:0)
尝试删除userId周围的引号。它是一个数字字段
$sql=mysql_query("select FName,LName from Test where UserId =".$_REQUEST['userId']);
答案 1 :(得分:0)
我不确定这是否有用,但你可以尝试一下。在您的字段fname和lname
中添加括号$sql=mysql_query("Select (Fname,LName) from Test where UserId='".$_REQUEST['userID']."' ");
答案 2 :(得分:0)
你没有在while循环之前声明你的数组...所以把:
$output = array();
在while
之前,所以它应该是:
$output = array();
$sql=mysql_query(...);
while($row=mysql_fetch_assoc($sql))
$output[]=$row;
另外,正如其他人指出的那样,这对于sql注入来说是不容易的,所以使用mysql_real_escape_string
。
另外,如果你的id是数字的,你应该真的删除它周围的单引号......虽然无所谓它应该返回结果...