Php 从不同类获取fetchall结果
让我解释一下我想做什么 在一个DBcommand.php文件中,我有: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();
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();
}