【发布时间】:2011-01-20 08:42:22
【问题描述】:
所以我有一个类.. 在它的构造函数中,我包含了通过 mysqli 扩展将我连接到我的数据库的代码:
class MyClass
{
public function __construct()
{
include("dbconnect");
}
}
dbconnect 如下所示:
$host = "localhost";
$user = "user";
$pass = "123";
$database = "myDatabase";
$mysqli = new mysqli($host, $user, $pass, $database);
$mysqli->set_charset('utf8-bin');
现在我的问题是:由于 mysqli 可以使用 OOP-Style,我如何访问 MyClass 中的变量?
function doIt()
{
$query = "SELECT * FROM myTable";
$result = $mysqli->multi_query($query);
}
调用这个函数会导致
注意:未定义变量:mysqli in ... 在线的 ... 致命错误:在非对象上调用成员函数 multi_query() 在...在线...
所以看起来变量的范围是不对的。有谁知道如何解决这一问题?如果 MyClass 不需要对 mysqli 的额外引用或其他内容,那将是最好的,因为我想将其分开。
【问题讨论】:
-
只是一个警告:如果您的文件只是命名为 'dbconnect' 仅此而已,并且它位于 webroot 中,则网络服务器可能会决定与全世界共享您的数据库密码。为配置数据提供
.php文件类型是一种很好的做法,这样如果它由 Web 服务器运行,则不会发生任何事情。 -
感谢提示 :) 实际上,它没有放在 webroot 中,也受 .htaccess 保护。但无论如何,我正在考虑使用连接类。