$response JSON只返回1行,PHP,ANDROID
当我使用$response JSON只返回1行,PHP,ANDROID,php,android,mysql,json,Php,Android,Mysql,Json,当我使用json\u encode($response)时,它只返回查询的第一行,如何使它返回所有行 $email = $_POST['email']; $password = $_POST['password']; main.php // check for user $user = $db->getUserByEmailAndPassword($email, $password); if ($user != false ) { // user found $respo
json\u encode($response)
时,它只返回查询的第一行,如何使它返回所有行
$email = $_POST['email'];
$password = $_POST['password'];
main.php
// check for user
$user = $db->getUserByEmailAndPassword($email, $password);
if ($user != false ) {
// user found
$response["error"] = FALSE;
$response["user"]["name"] = $user["name"];
$response["user"]["email"] = $user["email"];
$response["user"]["dega"] = $user["dega"];
$response["user"]["salla"] = $user["salla"];
$response["user"]["ora"] = $user["ora"];
$response["user"]["lenda"] = $user["lenda"];
$response["user"]["dita"] = $user["dita"];
echo json_encode($response);
}
method.php
public function getUserByEmailAndPassword($email, $password) {
$result = mysql_query("SELECT U.name, U.email, U.password, F.dega,
O.salla, O.ora, O.lenda, O.dita FROM users U
INNER JOIN fakulteti F on U.id = F.studenti
INNER JOIN orari O on F.id = O.fakulteti WHERE email = '$email'") or die(mysql_error());
$no_of_rows = mysql_num_rows($result);
if ($no_of_rows > 0) {
$result = mysql_fetch_array($result);
$encrypted_password = $result['password']
if ($encrypted_password == $password) {
return $result;
}
}
}
Android类,这是我在Android上收到响应的方式:
JSONObject user = jObj.getJSONObject("user");
String name = user.getString("name");
String email = user.getString("email");
String dega = user.getString("dega");
String salla = user.getString("salla");
String ora = user.getString("ora");
String lenda = user.getString("lenda");
String dita = user.getString("dita");
您正在显式创建一个数组,以仅处理main.php中的一行 您需要使用while()循环遍历结果(例如),以构建包含多行的数组
但是这个查询看起来只带来了一条记录。。。或者有多个学生使用同一封电子邮件?您正在显式创建一个数组,以仅处理main.php中的一行 您需要使用while()循环遍历结果(例如),以构建包含多行的数组
但是这个查询看起来只带来了一条记录。。。或者有一个以上的学生使用同一封电子邮件?这个查询对我来说是正确的,因为我测试了它,它给了我3行,但我不知道如何做,因为我需要一个while()mysql\u fetch\u array()将一行指针移到下一行。。。所以像
while($row=mysql\u-fetch\u-array($result,mysql\u-NUM)){printf(“ID:%s-Name:%s”,$row[0],$row[1])}
这个查询适合我的目的,因为我测试了它,它给了我3行,但我不知道如何做,因为我需要一段时间()mysql\u-fetch\u-array()将一行指针移到下一行。。。所以类似于while($row=mysql\u fetch\u array($result,mysql\u NUM)){printf(“ID:%s Name:%s”,$row[0],$row[1])}