标题 | 《PHP编程最快明白》第六讲:Mysql数据库操作 |
范文 | 如果一行代码搞不定你要的功能,该怎么办? 答案就是做成一个类--数据库类就产生了。通过对函数的二次封装,实现了非常好的重用。要用的时候再include进去。 在讲PHP数据库之前,先介绍一下Mysql要点:大家可以用phpmyadmin学习数据库操作。 在phpmyadmin里看到编码这一项全部选中文utf-8就对了。 Mysql数据库类型主要是:char(固定空间字符串,多大就是多少个中文字符)、varchar(可变空间字符串,多大就是初始化多少个中文字符)、int(整数多大就是多少位)、float(浮点数)、timestamp(日期,可选建立时自动创建,输出时就已经是格式化过的date)、text(文本)、bool(布尔型) 写sql语句时SUM()可以统计值;orderby'id'DESCLIMIT10,10等要活用。 在phpmyadmin学一下sql语句增删改查就行了。 实例20Mysql类 代码如下: <?php classopmysql{ private$host='localhost';//服务器地址 private$name='root';//登录账号 private$pwd='';//登录密码 private$dBase='a0606123620';//数据库名称 private$conn='';//数据库链接资源 private$result='';//结果集 private$msg='';//返回结果 private$fields;//返回字段 private$fieldsNum=0;//返回字段数 private$rowsNum=0;//返回结果数 private$rowsRst='';//返回单条记录的字段数组 private$filesArray=array();//返回字段数组 private$rowsArray=array();//返回结果数组 private$idusername=array(); private$idsubtitle=array(); //初始化类 function__construct($host='',$name='',$pwd='',$dBase=''){ if($host!='') $this->host=$host; if($name!='') $this->name=$name; if($pwd!='') $this->pwd=$pwd; if($dBase!='') $this->dBase=$dBase; $this->init_conn(); } //链接数据库 functioninit_conn(){ $this->conn=@mysql_connect($this->host,$this->name,$this->pwd); @mysql_select_db($this->dBase,$this->conn); mysql_query("setnamesutf8"); } //查询结果 functionmysql_query_rst($sql){ if($this->conn==''){ $this->init_conn(); } $this->result=@mysql_query($sql,$this->conn); } //取得查询结果字段数目 functiongetFieldsNum($sql){ $this->mysql_query_rst($sql); $this->fieldsNum=@mysql_num_fields($this->result); } //取得查询结果行数目 functiongetRowsNum($sql){ $this->mysql_query_rst($sql); if(mysql_errno()==0){ return@mysql_num_rows($this->result); }else{ return''; } } //取得记录数组有索引(单条记录) functiongetRowsRst($sql){ $this->mysql_query_rst($sql); if(mysql_error()==0){ $this->rowsRst=mysql_fetch_array($this->result,MYSQL_ASSOC); return$this->rowsRst; }else{ return''; } } //取得记录数组有索引(多条记录)全部 functiongetRowsArray($sql){ $this->mysql_query_rst($sql); if(mysql_errno()==0){ while($row=mysql_fetch_array($this->result,MYSQL_ASSOC)){ $this->rowsArray[]=$row; } return$this->rowsArray; }else{ return''; } } //更新、删除、添加记录数,返回影响到的行数 functionuidRst($sql){ if($this->conn==''){ $this->init_conn(); } @mysql_query($sql); $this->rowsNum=@mysql_affected_rows(); if(mysql_errno()==0){ return$this->rowsNum; }else{ return''; } } //获取对应的字段值,一条数字索引,mysql_array_rows才是带字段索引 functiongetFields($sql,$fields){ $this->mysql_query_rst($sql); if(mysql_errno()==0){ if(mysql_num_rows($this->result)>0){ $tmpfld=@mysql_fetch_row($this->result); $this->fields=$tmpfld[$fields]; } return$this->fields; }else{ return''; } } //错误信息 functionmsg_error(){ if(mysql_errno()!=0){ $this->msg=mysql_error(); } return$this->msg; } //释放结果集 functionclose_rst(){ mysql_free_result($this->result); $this->msg=''; $this->fieldsNum=0; $this->rowsNum=0; $this->filesArray=''; $this->rowsArray=''; $this->idsubtitle=''; $this->idusername=''; } //关闭数据库 functionclose_conn(){ $this->close_rst(); mysql_close($this->conn); $this->conn=''; } } ?> 实例21类的使用、密码的md5加密 代码如下: <?php $conne=newopmysql(); $conne->getRowsArray($sql); $conne->close_conn(); $password=”123456一二三四五六”; echomd5($password.”www.***.com”);//输出为32位的密文,是没有解密函数的,可以实现简单的加密功能。 ?> |
随便看 |
|
在线学习网范文大全提供好词好句、学习总结、工作总结、演讲稿等写作素材及范文模板,是学习及工作的有利工具。