Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MVC查询不会从数据库中获取所有记录_Php_Mysql_Web - Fatal编程技术网

Php MVC查询不会从数据库中获取所有记录

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

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中返回一个值。这会在第一次迭代时立即中断循环

将循环更改为以下内容:

$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完成后返回它。非常感谢!我根本没注意到!