目前我正在准备一个AJAX响应,将其发送给客户端。在这个场景(示例)中,我的数据库中有两个tuper
值行,但使用此代码,它只打印一个tuper
值行。
这是代码:
<?php
$con=mysqli_connect("localhost","root","","project");
$user = isset($_POST['user']) ? $_POST['user'] : '';
$pass = isset($_POST['pass']) ? $_POST['pass'] : '';
function account($user, $pass)
{
global $con;
$result=mysqli_query($con,"SELECT * FROM account WHERE username='$user'");
while($row=mysqli_fetch_array($result))
{
$x = array('Username'=> $row['username'],
'Password' => $row['password']);
$accounts['Accounts'][]= $x;
return json_encode($accounts);
}
}
echo $acountList = account("tuper",$pass);
?>
删除while循环中的return
。先创建数组,完成后返回。
function account($user, $pass)
{
global $con;
$data = array(); // setup container
$result = mysqli_query($con,"SELECT * FROM account WHERE username='$user'");
while($row=mysqli_fetch_array($result)) {
$x = array(
'Username'=> $row['username'],
'Password' => $row['password']
);
$data[] = $x; // push inside the container
}
$accounts['Accounts'] = $data; // after the loop is done
return json_encode($accounts); // then return it
}