我正在玩PHP中的课程,但却无法找到正确的方法。
我有以下课程:
class db_connection {
private $dbc;
public function __construct()
{
$this->dbc = new mysqli(HOST_ONE, USER_ONE, PASS_ONE, DB_ONE) or die ($this->dbc->error);
}
public function getDbc()
{
return $this->dbc;
}
}
并尝试像这样运行:
$db = new db_connection();
$db->getDbc();
// TESTQUERY
$abfrage = "SELECT * FROM databases";
$result = $db->query($abfrage);
while ($row = $result->fetch_assoc()) {
echo $row['id'];
}
设置了HOST_ONE等,虽然我已启用error_reporting( E_ALL );
我以多种不同的方式尝试过它,但它们都没有起作用......
有人可以推动我如何使用这个简单的课程吗?
答案 0 :(得分:2)
我认为你应该像以下一样使用它:
$db_con = new db_connection();
$db = $db_con->getDbc();
函数getDbc()返回您需要的对象。因此你必须将它发送到$ db变量,才能得到它。执行该方法不会将其值归因于" self"($ db_con)但返回一个值。
答案 1 :(得分:1)
你应该使用这样的代码:
$dbClass = new db_connection();
$db = $dbClass->getDbc();
$db->query("SELECT * FROM databases");
$dbClass = new db_connection();
创建连接并将db_connection
类实例返回给$dbClass
。现在您已连接到数据库,使用$db = $dbClass->getDbc();
获取连接对象本身并使用它执行任何与数据库相关的操作。