我现在是,把对数据库的每个表的操作都整成了一个类,可是每个类中都有连接数据库的语句,修改不方便,
请问怎么样,才能写一次链接数据库的语句,
大家都是怎么样操作的啊?
请大家多多指导!!aa表对应的类aa.php class aa{
var $conn; public $adds_id;
public $adds_title;
public $adds_content;
public $adds_time;
function __construct() {
// 连接数据库
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming"); //连接数据库
mysqli_query($this->conn, "SET NAMES gbk");
}
function __destruct() {
// 关闭连接
mysqli_close($this->conn);
} // 插入新记录
function insert(){
$sql = "insert into aa values('', '" . $this->adds_title . "', '" . $this->adds_content . "',". $this->adds_time .")";
$this->conn->query($sql);
}
}
bb表对应的类bb.php class bb{
var $conn; public $y_id;
public $UserName; // 用户名,保存当前的用户名
public $UserPwd; // 用户密码
function __construct() {
// 连接数据库 ,声明类对象时,执行此构造函数
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming"); //这里又要连接数据库
mysqli_query($this->conn, "SET NAMES gbk");
}
function __destruct() {
// 关闭连接
mysqli_close($this->conn);
} // 判断指定用户是否存在
function exists($user){ //参数$user 表示指定的 用户名
$result = $this->conn->query("select username,pwd from bb where username='" . $user . "'");
if($row = $result->fetch_array()) {
$this->UserName = $user;
$this->UserPwd = $row['pwd'];
return true;
}
else
return false;
}
}
请问怎么样,才能写一次链接数据库的语句,
大家都是怎么样操作的啊?
请大家多多指导!!aa表对应的类aa.php class aa{
var $conn; public $adds_id;
public $adds_title;
public $adds_content;
public $adds_time;
function __construct() {
// 连接数据库
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming"); //连接数据库
mysqli_query($this->conn, "SET NAMES gbk");
}
function __destruct() {
// 关闭连接
mysqli_close($this->conn);
} // 插入新记录
function insert(){
$sql = "insert into aa values('', '" . $this->adds_title . "', '" . $this->adds_content . "',". $this->adds_time .")";
$this->conn->query($sql);
}
}
bb表对应的类bb.php class bb{
var $conn; public $y_id;
public $UserName; // 用户名,保存当前的用户名
public $UserPwd; // 用户密码
function __construct() {
// 连接数据库 ,声明类对象时,执行此构造函数
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming"); //这里又要连接数据库
mysqli_query($this->conn, "SET NAMES gbk");
}
function __destruct() {
// 关闭连接
mysqli_close($this->conn);
} // 判断指定用户是否存在
function exists($user){ //参数$user 表示指定的 用户名
$result = $this->conn->query("select username,pwd from bb where username='" . $user . "'");
if($row = $result->fetch_array()) {
$this->UserName = $user;
$this->UserPwd = $row['pwd'];
return true;
}
else
return false;
}
}
解决方案 »
- 求教!
- 关于PHP生成圆角图片的问题
- 有些PHP基础不知道如何去分析别人的整站源代码,高手给指导下
- Minify和Memcache的问题
- 用move_uploaded_file上传文件时,能设定文件属性吗?
- php 读文本(.txt)的问题
- 为什么英文能插入,中文却不行啊?高手帮帮忙~
- Parse error: parse error, unexpected $end,大家帮忙解决,在线等...
- PHP perl Python 到底是什么关系?
- PHP访问access的问题,找了很久没解决!
- 为什么我上传文件只能是图片类型的呢,其他类型的如doc文件都不能上传
- 求助:mysql cannot use database
class base
{
var $conn; function __construct() {
// 连接数据库 ,声明类对象时,执行此构造函数
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming"); //这里又要连接数据库
mysqli_query($this->conn, "SET NAMES gbk");
}
function __destruct() {
// 关闭连接
mysqli_close($this->conn);
}}class aa extends base {}class bb extends base {}
?>
{
protected static $_instance;
private $conn;
private function __construct(){
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming");
mysqli_query($this->conn, "SET NAMES gbk");
}
private function __clone(){ }
public static function getInstance()
{
if( self::$_instance === NULL ) {
self::$_instance = new self();
}
return self::$_instance;
} public function query($sql){
//....
}
}
在任何需要的地方直接用就行了:
Db::getInstance()->query($sql);
当然,这样只是一个数据库连接,(大部分应用已经没问题了)如果你需要两个,可以建2个这样的class,
或者建一个带2个instance的singleton,或者更好地,用Registry模式, (registry模式可以很好地代替全局变量 global),如果你要很多连接,而且会连接到不同数据库...etc, 那就看zend_Db,它综合了几种模式.
<?php
class base
{
var $conn; function __construct() {
// 连接数据库 ,声明类对象时,执行此构造函数
$this->conn = mysqli_connect("localhost", "root", "", "shujukuming"); //这里又要连……
[/Quote]class aa extends base{ function __construct()
{
parent::__construct();
}
}
function aa($uid)
{
$this->db->query();
}}