我是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>';
,仍然工作相同(現在如果我使用返回,我只會得到第一個結果)。什麼需要改變?
詢問DB接口,讓您一步到位的所有結果,而無需手動收集他們:'返回$ R-> fetch_all (MYSQLI_ASSOC);'](http://php.net/manual/en/mysqli-result.fetch-all.php)。 – DCoder