类文件mysql.class.php:
php
class?Mysql{
//数据库连接返回值
private?$conn;
/**
*?[构造函数,返回值给$conn]
*/
if(!$config){
echo?'连接失败,请联系管理员';
exit;
}
$this-conn?=?$config;
$res?=?mysql_select_db($dbname);
if(!$res){
mysql_set_charset($charset);
function?__destruct(){
mysql_close();
*?[getAll?获取所有信息]
function?getAll($sql){
$result?=?mysql_query($sql,$this-conn);
$data?=?array();
if($result?mysql_num_rows($result)0){
while($row?=?mysql_fetch_assoc($result)){
$data[]?=?$row;
return?$data;
*?[getOne?获取单条数据]
function?getOne($sql){
$data?=?mysql_fetch_assoc($result);
function?insert($table,$data){
$str?=?'';
$str?.="INSERT?INTO?◆$table◆?";
$str?.="(◆".implode("◆,◆",array_keys($data))."◆)?";
$str?.="?VALUES?";
$str?.=?"('".implode("','",$data)."')";
$res?=?mysql_query($str,$this-conn);
if($res?mysql_affected_rows()0){
return?mysql_insert_id();
}else{
return?false;
*?[update?更新数据库]
function?update($table,$data,$where){
$sql?=?'UPDATE?'.$table.'?SET?';
foreach($data?as?$key?=?$value){
$sql?.=?"◆{$key}◆='{$value}',";
$sql?=?rtrim($sql,',');
$sql?.=?"?WHERE?$where";
$res?=?mysql_query($sql,$this-conn);
if($res?mysql_affected_rows()){
return?mysql_affected_rows();
*?[delete?删除数据]
function?del($table,$where){
$sql?=?"DELETE?FROM?◆{$table}◆?WHERE?{$where}";
使用案例:
//包含数据库操作类文件
include?'mysql.class.php';
//设置传入参数
$hostname='localhost';
$username='root';
$dbname='aisi';
//实例化对象
$db?=?new?Mysql($hostname,$username,$password,$dbname);
//获取一条数据
$sql?=?"SELECT?count(as_article_id)?as?count?FROM?as_article?where?as_article_type_id=1";
$count?=?$db-getOne($sql);
//获取多条数据
$sql?=?"SELECT?*?FROM?as_article?where?as_article_type_id=1?order?by?as_article_addtime?desc?limit?$start,$limit";
$service?=?$db-getAll($sql);
//插入数据
$arr?=?array(
'as_article_title'='数据库操作类',
'as_article_author'='rex',
);
$res?=?$db-insert('as_article',$arr);
//更新数据
'as_article_title'='实例化对象',
'as_article_author'='Lee',
$where?=?"as_article_id=1";
$res?=?$db-update('as_article',$arr,$where);
//删除数据
$res?=?$db-del('as_article',$where);
复制代码
代码如下:
/*
MYSQL
数据库访问封装类
访问方式,本封装类以mysql_封装
数据访问的一般流程:
①.,连接数据库
mysql_connect
or
mysql_pconnect
mysql_select_db
mysql_query
mysql_fetch_array
mysql_num_rows
mysql_fetch_assoc
mysql_fetch_row
etc
class
db_mysql
{
var
$querynum
=
;
//当前页面进程查询数据库的次数
$dblink
//数据库连接资源
//链接数据库
function
,
$halt=true)
$func
empty($pconnect)
'mysql_connect'
:
'mysql_pconnect'
$this-dblink
@$func($dbhost,$dbuser,$dbpw)
if
($halt
!$this-dblink)
$this-halt("无法链接数据库!");
//设置查询字符集
mysql_query("SET
character_set_connection={$dbcharset},character_set_results={$dbcharset},character_set_client=binary",$this-dblink)
//选择数据库
$dbname
@mysql_select_db($dbname,$this-dblink)
select_db($dbname)
return
mysql_select_db($dbname,$this-dblink);
//执行SQL查询
query($sql)
$this-querynum◆◆
mysql_query($sql,$this-dblink)
//返回最近一次与连接句柄关联的INSERT,UPDATE
或DELETE
查询所影响的记录行数
affected_rows()
mysql_affected_rows($this-dblink)
//取得结果集中行的数目,只对select查询的结果集有效
num_rows($result)
mysql_num_rows($result)
//获得单格的查询结果
result($result,$row=0)
mysql_result($result,$row)
//取得上一步
INSERT
操作产生的
ID,只对表有AUTO_INCREMENT
ID的操作有效
insert_id()
($id
mysql_insert_id($this-dblink))
$id
$this-result($this-query("SELECT
last_insert_id()"),
0);
//从结果集提取当前行,以数字为key表示的关联数组形式返回
fetch_row($result)
mysql_fetch_row($result)
//从结果集提取当前行,以字段名为key表示的关联数组形式返回
fetch_assoc($result)
mysql_fetch_assoc($result);
//从结果集提取当前行,以字段名和数字为key表示的关联数组形式返回
fetch_array($result)
mysql_fetch_array($result);
//关闭链接
close()
mysql_close($this-dblink)
//输出简单的错误html提示信息并终止程序
halt($msg)
$message
"html\nhead\n"
.=
"meta
"/head\n"
"body\n"
"数据库出错:".htmlspecialchars($msg)."\n"
"/body\n"
"/html"
echo
exit
本身这就是一个自定义函数,数据需要插入的话需要自己构造sql语句然后通过mysql_query将函数返回的值写入数据库.
想直接让数据库调用PHP的自定义函数是不现实的!
以上就是土嘎嘎小编为大家整理的php中封装连接数据库相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!