我是 PHP OOP 的新手。
我想从数据库中检索所有结果,但不是在方法内使用 echo 而是使用 RETURN (因为我经常听到方法不应该回显任何东西,而只是返回),正如我在以下所做的那样:
class MySqlDb {
public $conn;
public $numRows;
function __construct($host, $un, $p, $db) {
$this->conn = new mysqli($host, $un, $p, $db);
}
function get_smth() {
// $conn = new mysqli($host, $un, $p, $db);
$q = "SELECT * FROM posts";
$r = $this->conn->query($q) or die(mysqli_error());
$this->numRows = $r->num_rows;
// return "<p>A total of $this->numRows records were found</p>";
while ($row = $r->fetch_assoc()) {
echo $row['title'].'<br>';
}
}
}
$t = new MySqlDb( 'localhost', 'root', '', 'oop' );
$t->get_smth();
我想更改echo $row['title'].'<br>';
并return $row['title'].'<br>';
仍然工作(现在如果我使用返回,我只会得到第一个结果)。需要改变什么?