《PHP编程最快明白》第六讲:Mysql数据库操作


Posted in PHP onNovember 01, 2010

答案就是做成一个类--数据库类就产生了。通过对函数的二次封装,实现了非常好的重用。要用的时候再include进去。

在讲PHP数据库之前,先介绍一下Mysql要点:大家可以用phpmyadmin学习数据库操作。

在phpmyadmin里看到编码这一项全部选中文utf-8就对了。

Mysql数据库类型主要是: char(固定空间字符串,多大就是多少个中文字符)、varchar(可变空间字符串,多大就是初始化多少个中文字符)、int(整数多大就是多少位)、float(浮点数)、timestamp(日期,可选建立时自动创建,输出时就已经是格式化过的date)、text(文本)、bool(布尔型)

写sql语句时SUM()可以统计值;order by 'id' DESC LIMIT 10,10等要活用。

在phpmyadmin学一下sql语句增删改查就行了。

实例20 Mysql类

<?php 
class opmysql{ 
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(); 
} 
//链接数据库 
function init_conn(){ 
$this->conn=@mysql_connect($this->host,$this->name,$this->pwd); 
@mysql_select_db($this->dBase,$this->conn); 
mysql_query("set names utf8"); 
} 
//查询结果 
function mysql_query_rst($sql){ 
if($this->conn == ''){ 
$this->init_conn(); 
} 
$this->result = @mysql_query($sql,$this->conn); 
} //取得查询结果字段数目 
function getFieldsNum($sql){ 
$this->mysql_query_rst($sql); 
$this->fieldsNum = @mysql_num_fields($this->result); 
} 
//取得查询结果行数目 
function getRowsNum($sql){ 
$this->mysql_query_rst($sql); 
if(mysql_errno() == 0){ 
return @mysql_num_rows($this->result); 
}else{ 
return ''; 
} 
} 
//取得记录数组有索引(单条记录) 
function getRowsRst($sql){ 
$this->mysql_query_rst($sql); 
if(mysql_error() == 0){ 
$this->rowsRst = mysql_fetch_array($this->result,MYSQL_ASSOC); 
return $this->rowsRst; 
}else{ 
return ''; 
} 
} 
//取得记录数组有索引(多条记录)全部 
function getRowsArray($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 ''; 
} 
} 
//更新、删除、添加记录数,返回影响到的行数 
function uidRst($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才是带字段索引 
function getFields($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 ''; 
} 
} 
//错误信息 
function msg_error(){ 
if(mysql_errno() != 0) { 
$this->msg = mysql_error(); 
} 
return $this->msg; 
} 
//释放结果集 
function close_rst(){ 
mysql_free_result($this->result); 
$this->msg = ''; 
$this->fieldsNum = 0; 
$this->rowsNum = 0; 
$this->filesArray = ''; 
$this->rowsArray = ''; 
$this->idsubtitle=''; 
$this->idusername=''; 
} 
//关闭数据库 
function close_conn(){ 
$this->close_rst(); 
mysql_close($this->conn); 
$this->conn = ''; 
} 
} 
?>

实例21 类的使用、密码的md5加密
<?php 
$conne = new opmysql(); 
$conne-> getRowsArray($sql); 
$conne-> close_conn(); 
$password=”123456一二三四五六”; 
echo md5($password.”www.kuphp.com”);//输出为32位的密文,是没有解密函数的,可以实现简单的加密功能。 
?>
PHP 相关文章推荐
ExtJS与PHP、MySQL实现存储的方法
Apr 02 PHP
PHP验证码类代码( 最新修改,完全定制化! )
Dec 02 PHP
PHP游戏编程25个脚本代码
Feb 08 PHP
浏览器关闭后,能继续执行的php函数(ignore_user_abort)
Aug 01 PHP
php获取apk包信息的方法
Aug 15 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
浅谈PHP中Stream(流)
Jun 08 PHP
PHP编程中的__clone()方法使用详解
Nov 27 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
Apr 15 PHP
CI框架(CodeIgniter)实现的导入、导出数据操作示例
May 24 PHP
PHP如何实现阿里云短信sdk灵活应用在项目中的方法
Jun 14 PHP
解决laravel 表单提交-POST 异常的问题
Oct 15 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 #PHP
《PHP编程最快明白》第四讲:日期、表单接收、session、cookie
Nov 01 #PHP
《PHP编程最快明白》第三讲:php数组
Nov 01 #PHP
《PHP编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
Nov 01 #PHP
一篇有意思的技术文章php介绍篇
Oct 26 #PHP
理解php原理的opcodes(操作码)
Oct 26 #PHP
PHP下常用正则表达式整理
Oct 26 #PHP
You might like
php smarty 二级分类代码和模版循环例子
2011/06/01 PHP
php json_encode奇怪问题说明
2011/09/27 PHP
php 中文字符串首字母的获取函数分享
2013/11/04 PHP
File文件控件,选中文件(图片,flash,视频)即立即预览显示
2009/04/09 Javascript
让JavaScript和其它资源并发下载的方法
2014/10/16 Javascript
javascript实现简单计算器效果【推荐】
2016/04/19 Javascript
js判断复选框是否选中及选中个数的实现代码
2016/05/30 Javascript
jQuery组件easyui对话框实现代码
2016/08/25 Javascript
javascript验证香港身份证的格式或真实性
2017/02/07 Javascript
JS获取子、父、兄节点方法小结
2017/08/14 Javascript
JS设计模式之单例模式(一)
2017/09/29 Javascript
vue配置多页面的实现方法
2018/05/22 Javascript
vue实现的上拉加载更多数据/分页功能示例
2019/05/25 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
Vuex中实现数据状态查询与更改
2019/11/08 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
vue使用openlayers实现移动点动画
2020/09/24 Javascript
vue 组件基础知识总结
2021/01/26 Vue.js
Python GAE、Django导出Excel的方法
2008/11/24 Python
Python2.6版本中实现字典推导 PEP 274(Dict Comprehensions)
2015/04/28 Python
Python yield与实现方法代码分析
2018/02/06 Python
python里反向传播算法详解
2020/11/22 Python
CSS3 3D立方体效果示例-transform也不过如此
2016/12/05 HTML / CSS
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
智利最大的网上商店:Linio智利
2016/11/24 全球购物
广州一家公司的.NET面试题
2016/06/11 面试题
酒吧副总经理岗位职责
2013/12/10 职场文书
《去年的树》教学反思
2014/04/11 职场文书
《学棋》教后反思
2014/04/14 职场文书
军训拉歌口号
2014/06/13 职场文书
优秀教师单行材料
2014/12/16 职场文书
单位推荐信范文
2015/03/27 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
思想品德课教学反思
2016/02/24 职场文书
解决Go gorm踩过的坑
2021/04/30 Golang
mysql中如何用命令创建联合唯一索引
2022/04/20 MySQL