2015-11-21 128 views
0

我试图返回用户名与数据库表中的用户名匹配的行数组。 JSON结果只是给了我最后一行。从数据库表中获取行android

示例表:

james 14 [email protected] 

mah 12 [email protected] 

james 23 [email protected] 

result gives me: 
23 [email protected] 

,但我想詹姆斯都排不只是最后一个。 所以无论14 [email protected]和23 [email protected] 感谢

我的PHP代码:

<?php 
    $username = $_POST["username"]; 

    $con = new mysqli("xx", "xx", "xx", "xx"); 


    // selects everything 
    $statement = mysqli_prepare($con, "SELECT * FROM `user` WHERE username = ?"); 
    mysqli_stmt_bind_param($statement, "s", $username); 

    mysqli_stmt_execute($statement); 
    // Store the result to use 
    mysqli_stmt_store_result($statement); 
    mysqli_stmt_bind_result($statement, $id, $username, $age, $email); 

    // Get results returned and put in array 
    $user = array(); 
    while (mysqli_stmt_fetch($statement)) { 
     $user[age] = $age; 
     $user[email] = $email; 
    } 

    // Send array back to phone 
    print (json_encode($user)); 

    mysqli_stmt_close($statement); 
    mysqli_close($con); 

?> 

回答

1

您覆盖阵列所以尝试这样

while (mysqli_stmt_fetch($statement)) { 
     $user[] = array('age'=>$age, 'email'=>$email); 
    } 
1

你的阵列应该是空的不喜欢[年龄] [邮件]应该为空以便数组创建索引。

1

user[]的东西应该是一个2维数组。

在你的情况下,最后一个元素将在数组中。

while (mysqli_stmt_fetch($statement)) { 
     $user[] = array('age'=>$age,'email' =>$email); 
    } 

希望这会有所帮助。