Php MVC查询不会从数据库中获取所有记录
DB存储多个帐户:[winnie,winnie9,winnie10],但是当我获取数据时,查询只返回一条记录。解决办法是什么 模型方法: 受保护的函数getApprovedUsers$login{ $sql=从'approved'中选择'email'、'login'、'name'、'reg_date'、'pass'、'role'?; $stmt=$this->connect->prepare$sql; $stmt->execute[$login]; 如果$users=$stmt->fetchAll 返回$users; 返回null; } 控制器对模型的调用: 公共函数getCertainApprovedUser$登录{ $users=$this->getApprovedUsers$login; ifis_数组$users | | is_对象$users{ foreach$users作为$user{ 返回ArrayMail=>$user[email],login=>$user[login],pass=>$user[pass], 名称=>$user[name],注册日期=>$user[reg\u date],角色=>$user[role]; } } 否则{ 抛出新的异常,无需获取; } } } 正在处理数据,以便LIKE语句能够正常工作%%: $record=$userContr->getCertainApprovedUser%$login%; $someJSON=array [ login=>{$record['login']}, email=>{$record['email']}, name=>{$record['name']}, 注册表日期=>{$record['注册表日期']} ] ; $newJSON=json_encode$someJSON; echo$newJSON; 在方法getCertainApprovedUser中,您将在foreach中返回一个值。这会在第一次迭代时立即中断循环 将循环更改为以下内容:Php MVC查询不会从数据库中获取所有记录,php,mysql,web,Php,Mysql,Web,DB存储多个帐户:[winnie,winnie9,winnie10],但是当我获取数据时,查询只返回一条记录。解决办法是什么 模型方法: 受保护的函数getApprovedUsers$login{ $sql=从'approved'中选择'email'、'login'、'name'、'reg_date'、'pass'、'role'?; $stmt=$this->connect->prepare$sql; $stmt->execute[$login]; 如果$users=$stmt->fetchAl
$result = []; // initialize an empty array
foreach ($users as $user) {
// add a user to that array
$result[] = array("email"=>$user["email"], "login"=>$user["login"], "pass"=> $user["pass"], "name"=> $user["name"], "reg_date"=> $user["reg_date"], "role"=> $user["role"]);
}
// return the array containing the users
return $result;
然后,要构建json,请应用相同的逻辑:
$someJSON = [];
foreach ($record as $user)
{
$someJSON[] = [
"login"=>$user['login'],
"email"=>$user['email'],
"name"=>$user['name'],
"reg_date"=>$user['reg_date']
];
}
因为你的回报是在你的foreach里,在你的控制器里。它将只经过循环的一次迭代。相反,使用foreach构建一个数组,然后在foreach完成后返回它。非常感谢!我根本没注意到!