Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.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 从不同类获取fetchall结果_Php_Mysql_Class_Pdo_Fetchall - Fatal编程技术网

Php 从不同类获取fetchall结果

Php 从不同类获取fetchall结果,php,mysql,class,pdo,fetchall,Php,Mysql,Class,Pdo,Fetchall,让我解释一下我想做什么 在一个DBcommand.php文件中,我有: class DBcommand Extends PdoDB { public function selectAll() { $stmt = $this->dbh->prepare("SELECT hwid,username,pcname FROM users"); $stmt->execute(); $columnn = array();

让我解释一下我想做什么

在一个DBcommand.php文件中,我有:

class DBcommand Extends PdoDB { 
     public function selectAll() {
       $stmt = $this->dbh->prepare("SELECT hwid,username,pcname FROM users");
       $stmt->execute();
       $columnn = array();
       $result_returned = $stmt->fetchAll(PDO::FETCH_CLASS);
       foreach($result_returned as $key=>$result) {
         $columnn['hwid'] = $result->hwid;
         $columnn['username'] = $result->username;
         $columnn['pcname'] = $result->pcname;
         //return $columnn;
         //$columnn= new us($result->hwid,$result->username,$result->pcname);
       }
       return $columnn;
     }
}
我试图在另一个名为View.php的页面上获得结果

我的问题是,我的selectall可以工作,但是我的view.php只能从中获取1个信息,第一个或最后一个

即使我尝试在view.php部分做一些修改,它也永远不会得到所有结果

假设我的selectAll返回数组'123','azerty',azerty';和数组'6547','qwertty',qwerty',selectAll中的打印内容将显示我想要看到的内容,但是view.php中的结果将只显示这两个结果中的一个

-

我甚至尝试创建另一个接受$this->\uHWID的类,所以稍后我将使用这个类,但没有管理,因为它的对象在字符串中

-


陷入困境,谢谢您的帮助。

您的foreach始终只填充数组中的一项

请尝试以下方法:

 foreach($result_returned as $key=>$result) {
   $columnn[$key]['hwid'] = $result->hwid;
   $columnn[$key]['username'] = $result->username;
   $columnn[$key]['pcname'] = $result->pcname;
 }
这是您需要的问题函数的所有代码


您的其他代码还需要对正在使用的技术有最低限度的了解。至少您必须意识到,您正在以数组的形式从表中获取多行,这些行通常使用foreach命令循环。

您正在覆盖foreach循环中的值。你为什么要在DBcommand中注入一个PdoDB对象呢?你一直在读扩展它的命令。是的,谢谢我纠正了DB的事情,这是由于一个旧的测试。是的,在这个示例中,我正在覆盖,但即使我将返回值放在foreach中,结果也会提醒我如何从view.php端从中获得结果?
 foreach($result_returned as $key=>$result) {
   $columnn[$key]['hwid'] = $result->hwid;
   $columnn[$key]['username'] = $result->username;
   $columnn[$key]['pcname'] = $result->pcname;
 }
public function selectAll() {
    $stmt = $this->dbh->prepare("SELECT hwid,username,pcname FROM users");
    $stmt->execute();
    return $stmt->fetchAll();
}