我现在是,把对数据库的每个表的操作都整成了一个类,可是每个类中都有连接数据库的语句,修改不方便,
请问怎么样,才能写一次链接数据库的语句,
大家都是怎么样操作的啊?
请大家多多指导!!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;
}
}
解决方案 »
- 求助:用readfile不能显示,用include却可以
- 求助:图片输出乱码问题
- 新手求助:使用zend studio时怎么解决代码提示太弱的问题
- 求一个xhtml+css+js+ajax+php+smarty+mysql+MVC的项目视频教程
- 去面试了,我这样回答是不是很傻 会被录用上吗?
- 关于网站通行证,请大家给提下建议!!!
- 以前是学ASP的,现在想专但确定不了该转向那里,是PHP,还是JSP。。。
- 为什么mysql服务总是启动不了
- session变量存在的时间设置
- 下拉列表的问题,不是很难,进来看看!五拾分!
- 为什么我上传文件只能是图片类型的呢,其他类型的如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();
}}