PHP
数据库操作类
<?php
class
mysql {
private
$db_host; //
数据库主机
private
$db_user
;
//
数据库用户名
private
$db_pwd
;
//
数据库用户名密码
private
$db_database
;
//
数据库名
private
$conn
;
//
数据库连接标识
;
private
$result
;
//
执行
query
命令的结果资源标识
private
$sql
;
//sql
执行语句
private
$row
;
//
返回的条目数
private
$coding
;
//
数据库编码,
GBK,UTF8,gb2312
private
$bulletin
= true;
//
是否开启错误记录
private
$show_error
=
false;
//
测试阶段,显示所有错误
,
具有安全隐患
,
默
认关闭
private
$is_error
= false;
//
发现错误是否立即终止
,
默认
true,
建议不启用,
因为当有问题时用户什么也看不到是很苦恼的
/*
构造函数
*/
public
function
__construct(
$db_host
,
$db_user
,
$db_pwd
,
$db_database
,
$conn
,
$coding
) {
$this
->db_host =
$db_host
;
$this
->db_user =
$db_user
;
$this
->db_pwd =
$db_pwd
;
$this
->db_database =
$db_database
;
$this
->conn =
$conn
;
$this
->coding =
$coding
;
$this
->connect();
}
/*
数据库连接
*/
public
function
connect() {
if
(
$this
->conn == "pconn") {
//
永久链接
$this
->conn = mysql_pconnect(
$this
->db_host,
$this
->db_user,
$this
->db_pwd);
} else
{
//
即使链接
$this
->conn
=
mysql_connect(
$this
->db_host,
$this
->db_user,
$this
->db_pwd);
}
if
(!mysql_select_db(
$this
->db_database,
$this
->conn)) {
if
(
$this
->show_error) {
$this
->show_error("
数据库不可用:
",
$this
->db_database);
}
}
mysql_query("SET NAMES $this->coding");
}
/*
数据库执行语句,可执行查询添加修改删除等任何
sql
语句
*/
public
function
query(
$sql
) {
if
(
$sql
== "") {
$this
->show_error("SQL
语句错误:
", "SQL
查询语句为空
");
}
$this
->sql =
$sql
;
$result
= mysql_query(
$this
->sql,
$this
->conn);
if
(!
$result
) {
//
调试中使用,
sql
语句出错时会自动打印出来
if
(
$this
->show_error) {
$this
->show_error("
错误
SQL
语句:
",
$this
->sql);
}
} else
{
$this
->result =
$result
;
}
return
$this
->result;
}
/*
创建添加新的数据库
*/
public
function
create_database(
$database_name
) {
$database
=
$database_name
;
$sqlDatabase
= 'create database '
.
$database
;
$this
->query(
$sqlDatabase
);
}
/*
查询服务器所有数据库
*/
//
将系统数据库与用户数据库分开,更直观的显示?
public
function
show_databases() {
$this
->query("show databases");
echo
"
现有数据库:
"
.
$amount
=
$this
->db_num_rows(
$rs
);
echo
"<br />";
$i
= 1;
while
(
$row
=
$this
->fetch_array(
$rs
)) {
echo
"$i $row[Database]";
echo
"<br />";
$i
++;
}
}
//
以数组形式返回主机中所有数据库名
public
function
databases() {
$rsPtr
= mysql_list_dbs(
$this
->conn);
$i
= 0;