所以我有一个类..在它的构造函数中,我包含了通过mysqli扩展将我连接到我的数据库的代码:
class MyClass
{
public function __construct()
{
include("dbconnect");
}
}
Run Code Online (Sandbox Code Playgroud)
dbconnect看起来像这样:
$host = "localhost";
$user = "user";
$pass = "123";
$database = "myDatabase";
$mysqli = new mysqli($host, $user, $pass, $database);
$mysqli->set_charset('utf8-bin');
Run Code Online (Sandbox Code Playgroud)
现在我的问题:由于mysqli可以使用OOP-Style,我如何访问MyClass中的变量?
function doIt()
{
$query = "SELECT * FROM myTable";
$result = $mysqli->multi_query($query);
}
Run Code Online (Sandbox Code Playgroud)
调用此函数会导致
注意:未定义的变量:mysqli in ... on line ...致命错误:在......上的非对象上调用成员函数multi_query()...
所以似乎变量的范围是不对的.有谁知道如何解决这一问题?如果MyClass不需要额外的引用或mysqli的东西,那将是最好的,因为我想保持它分开.
该$mysqli变量仅在构造函数的范围内可用.像这样更改构造函数:
class MyClass
{
public function __construct()
{
include("dbconnect");
$this->mysqli = $mysqli;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,您可以$this->mysqli在该对象上使用其他方法.
| 归档时间: |
|
| 查看次数: |
2230 次 |
| 最近记录: |