基本上我正在尝试创建一个类来处理数据库连接。我已经仔细检查以确保我的连接变量是正确的,如果我将它们直接插入PHP页面,它们就可以工作。但是,当我这样称呼这个班级时:
require_once __DIR__ . 'includes/db_connect.php';
$db = new DB_CONNECT();
它不起作用。这是我的代码。也许我错过了什么。
<?php
// Class file to connect to database
class DB_CONNECT {
// constructor
function __construct()
{
// connection to database
$this->connect();
}
// destructor
function __destruct()
{
// disconnecting from database
$this->close();
}
// Function for Database Connection
function connect()
{
// import database connection variables
require_once _DIR_ . '/db_config.php';
// connection to mysql database
$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) or die (mysql_error());
// selecting database
$db = mysql_select_db(DB_DATABASE) or die (mysql_error()) or die (mysql_error());
// returning connection cursor
return $con;
}
// Function to close db connection
function close()
{
// closing db connection
mysql_close();
}
}
?>
答案 0 :(得分:1)
您的connect()
函数中存在拼写错误:
require_once _DIR_ . '/db_config.php';
应该是:
require_once __DIR__ . '/db_config.php';
您需要双下划线,否则PHP将在服务器的根目录中查找配置文件。
答案 1 :(得分:0)
尝试这样的事情
function connect(){
$this->conn = mysqli_connect("localhost",$this->user,$this->password);
if (!$this->conn){
echo "No DB connection";
exit;
}
$this->db = mysqli_select_db("DB_NAME");
if (!$this->db){
echo "Can't find DB";
exit;
}
答案 2 :(得分:0)
尝试用_DIR_
dirname(__FILE__)
同样,@ jterry说,不推荐使用mysql。