我只是冒险进入OOP世界,请原谅我,如果这是一个难以理解的问题。
这就是index.php
上的内容:
$dbObj = new Database();
$rsObj = new RS($dbObj);
这是数据库类:
class Database
{
private $dbHost;
private $dbUser;
private $dbPasswd;
private $dbName;
private $sqlCount;
function __construct()
{
$this->dbHost = 'localhost';
$this->dbUser = 'root';
$this->dbPasswd = '';
$this->dbName = 'whatever';
$this->sqlCount = 0;
}
function connect()
{
$this->link = mysql_connect($this->db_host, $this->db_user, $this->db_passwd);
if(!$this->link)
$this->error(mysql_error());
$this->selection = mysql_select_db($this->db_name, $this->link);
if(!$this->selection)
$this->error(mysql_error());
}
}
我已将其简化为connect()
方法以简化操作。
这是RS类:
class RS
{
private $username;
private $password;
function __construct($dbObj)
{
// We need to get an account from the db
$dbObj->connect();
}
}
正如您可能看到的,我需要访问并使用RS类中的数据库类。但是当我加载页面时出现此错误:
警告:mysql_connect() [function.mysql-connect]:访问 否认用户'ODBC'@'localhost' (使用密码:NO)in C:\ XAMPP \ htdocs中\包括\ database.class.php 在第22行
事情是我不知道它在哪里得到它需要使用ODBC
作为用户的想法...我已经阅读了这些东西并且从我可以收集的内容我正在做正确。
有人可以伸出援助之手吗?
谢谢。
答案 0 :(得分:2)
connect()中的属性名称与类的属性名称不匹配。
变化:
$this->link = mysql_connect($this->db_host, $this->db_user, $this->db_passwd);
要:
$this->link = mysql_connect($this->dbHost, $this->dbUser, $this->dbPasswd);
并改变:
$this->selection = mysql_select_db($this->db_name, $this->link);
要:
$this->selection = mysql_select_db($this->dbName, $this->link);