《PHP编程最快明白》第六讲:Mysql数据库操作
来源: 阅读:838 次 日期:2014-05-18 15:02:46
温馨提示: 小编为您整理了“《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位的密文,是没有解密函数的,可以实现简单的加密功能。

?>

更多信息请查看IT技术专栏

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map