程序代码方便大家使用
//MVC 实例 对于mysql的操作
<?php //mysql.class.php
class Mysql
{
/**报错函数
* @param string $error
**/
function err($error)
{
die("对不起,您的操作有误,错误原因为: ".$error);
//die有两种作用:输出和终止,相当于echo和exit的组合
}
//连接数据库
//@param string $config 匹配数组array($dbhost,$dbuser,$dbpwd,$dbname,$dbcharset)
//@return bool 连接成功或失败
function connect($config)
{
extract($config);
if(!($con=mysql_connect($dbhost,$dbuser,$dbpwd)))
//mysql_connect连接数据库函数
$this->err(mysql_error());
if(!mysql_select_db($dbname,$con))
{
$this->err(mysql_error());
}
mysql_query("set names ".$dbcharset);//使用mysql_query设置数据库编码/mysql_query(set names c utf8);
}
//执行mysql query
//@param string $sql
//@return bool 返回执行成功,资源或执行失败
function query($sql)
{
if(!($query=mysql_query($sql)))
//使用mysql_query来执行sql语句
{
return $this->err($sql."<br />".mysql_error());
}
else
{
return $query;
}
}
//列表
//@param source $query /sql通过mysql_query()执行出来的资源
//return array 返回列表数组
function findAll($query)
{
while($rs=mysql_fetch_array($query, MYSQL_ASSOC))
//MYSQL_ASSOC()作用将mysql_fetch_array()获得的数组一次转换出一行出来
{
$list[]=$rs;
}
return isset($list)?$list:"";
}
//返回单行的数据查询结果
function findOne($query)
{
$rs=mysql_fetch_array($query, MYSQL_ASSOC);
return $rs;
}
//数据查询返回指定行的指定字段的值
//@param source $query sql语句通过MySQL_query返回的资源
//return array 返回指定行的指定字段的值
function findResult($query,$row=0, $field=0)
{
$rs=mysql_result($query,$row,$field);
return $rs;
}
//添加函数 insert
//@param string $table 表名
//@param array $arr 添加数组(包含字段和值的数组)
function insert($table, $arr)
{
//sql语句解释 INSERT INTO table(表明:多个字段) VALUES(多个值)
foreach($arr as $key=>$valule)
//foreach 循环获取数组
{
$value = mysql_real_escape_string($value);
$keyArr[]="`".$key."`";//把$arr数组中的键名保存到$KeyArr数组中
$valueArr[]="`".$value."`";//把$arr数组当中的键值保存到$valueArr数组,
//因为值多为字符串,而sql语句里面insert当中如果值是字符串的话要加引号,
//所以这个地方要加上单引号(为esc键下方的单引号)
}
$keys=implode(",",$keyArr);//implode函数把数组用(,)的组合成字符串
$values=implode(",",$valueArr);//IMpolo的函数包值组合成字符串
//然后进行拼接sql语句
$sql="INSERT INTO ".$table."(".$keys.") VALUES(".$values.");";
$this->query($sql);
return mysql_insert_id();
}
//修改函数 update ssql语句
//@param string $table 表名
//@param array $arr 修改的数组 字符段=字段值的一维数组
//@parama string $where 修改的条件
function update($table,$arr,$where)
{
foreach($arr as $key=>$value)
{
$vaule=mysql_real_escape_string($value);
$keyAndValueArr[]="`".$key."`=`".$value."`";
}
$keyAndValues=imploed(",",$keyAndValuArr);
$sql="UPDATE ".$table." SET ".$keyAndValues." WHERE ".$where;
$this->query($sql);
}
//删除函数 delete sql语句
//@param string $table 表名
//@param string $where 条件
function delete($table, $where)
{
$sql="DELETE FROM ".$table." WHERE ".$where;//sql删除语句
$this->query($sql);
}
}
?>