十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
做成单例模式,就可以在所有的类中使用你的数据库操作类了。
创新互联建站主要从事网站制作、成都网站设计、网页设计、企业做网站、公司建网站等业务。立足成都服务固安,十多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792
你的connect()方法中没有设置使用参数,但是在方法中又使用了$host这些变量,当然出错咯。可以改成
?php class Mysql{
private $host;
private $name;
private $pass;
function __construct($host,$name,$pass){
$this-host=$host;
$this-name=$name;
$this-pass=$pass;
$this-connect($host,$name,$pass);
}
function connect($host,$name,$pass){
if(mysql_connect($host,$name,$pass)){
echo "连接成功";
}else{
echo "连接失败";
}
}
}
$db=new Mysql("localhost","root","");
?
不知道你用的是什么数据库,如果是Mysql的话,一个php函数就搞定了
mysql_connect('host', 'username', 'password');
三个参数分别是 数据库主机 ip, 数据库用户名, 数据库密码!
直接调用就行了,不过可能你需要引用文件,以下是例子
//文件conn.php,用于连接数据库
class
DB_Conn
{
}
//文件
db.php,
用于数据库操作,这个类必然需要使用数据库连接对象,因此引用conn.php
require_once
conn.php;
class
DB
{
}
//文件user.php
require_once
'db.php';
class
User
{
public
function
getUserById($id)
{
$conn
=
new
Db_Conn();
$db
=
new
Db();
}
}以上只是示意,如果文件不在一个目录下记得修改路径。而且,一般来说数据库对象应该包含连接数据库和数据操作的全部功能,不需要分别写在两个类里面。我觉得你对面向对象的理解还很浅薄,需要进一步累积经验。