Php 在另一个文件中显示查询的数组结果
我正在刷新OOP的记忆,并学习如何将其应用于PHP,重点是关注点分离(MVC)。为了练习,我在网上找到并编辑了一些代码。函数query()返回MySQL数据库中的数据。下面是该类文件:Php 在另一个文件中显示查询的数组结果,php,mysql,Php,Mysql,我正在刷新OOP的记忆,并学习如何将其应用于PHP,重点是关注点分离(MVC)。为了练习,我在网上找到并编辑了一些代码。函数query()返回MySQL数据库中的数据。下面是该类文件: <?php // ClassPractice.php class ClassPractice { public function __construct($host, $user, $pass, $name) { $this->host =
<?php
// ClassPractice.php
class ClassPractice {
public function __construct($host, $user, $pass, $name) {
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->name = $name;
}
protected function connect() {
return new mysqli($this->host, $this->user, $this->pass, $this->name);
}
public function query($query) {
$db = $this->connect();
$result = $db->prepare($query);
$result->execute();
$result->bind_result($username);
while ( $row = $result->fetch_object() ) {
$rows[] = $row;
}
return $rows;
}
}
?>
没有关于这个类如何在另一个文件中实例化的示例,所以我自己做了,并从这个文件调用query()方法:
<?php
// index.php
include('ClassPractice.php');
$class = new ClassPractice('host', 'user', 'password', 'database');
$results = $class->query("SELECT username FROM user");
// Display formatted results of query here
?>
因为MVC的规则规定视图必须与模型和控制器分开处理,所以我想用这个文件显示query()方法的结果。我已经对此进行了无休止的研究,但还没有发现任何具体的我正在尝试做的事情。通常,我会将方法调用分配给一个变量,然后根据需要操纵或显示该变量。在这种情况下,这似乎不是一个选项。我尝试将方法调用中的查询分配给数组变量,并使用foreach方法显示结果。到目前为止没有任何效果。您的代码错误,请更改此行的“while”
while ( $result->fetch() ) {
$rows[] = $row;
}
EDIT:为index.php中的变量$results分配了对query()方法的调用。我也试过了,但我想我的foreach是不正确的。我改变了我的while循环并修复了我的foreach循环,现在它可以工作了。谢谢