《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 相关文章推荐
用libtemplate实现静态网页生成
Oct 09 PHP
PHP3 safe_mode 失效漏洞
Oct 09 PHP
php date与gmdate的获取日期的区别
Feb 08 PHP
如何在symfony中导出为CSV文件中的数据
Oct 06 PHP
奉献出一个封装的curl函数 便于调用(抓数据专用)
Jul 22 PHP
PHP中session变量的销毁
Feb 27 PHP
php截取字符串之截取utf8或gbk编码的中英文字符串示例
Mar 12 PHP
PHP+Ajax+JS实现多图上传
May 07 PHP
PHP微信分享开发详解
Jan 14 PHP
PHP实现将多个文件压缩成zip格式并下载到本地的方法示例
May 23 PHP
实现php删除链表中重复的结点
Sep 27 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
Sep 30 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
在Windows版的PHP中使用ADO
2006/10/09 PHP
解析PHP跨站刷票的实现代码
2013/06/18 PHP
php生成图形(Libchart)实例
2013/11/06 PHP
ThinkPHP实现将本地文件打包成zip下载
2014/06/26 PHP
javascript动态加载三
2012/08/22 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
2013/04/12 Javascript
实测jquery data()如何存值
2013/08/18 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
2014/09/26 Javascript
Bootstrap CSS布局之图像
2016/12/17 Javascript
树结构之JavaScript
2017/01/24 Javascript
原生js仿浏览器滚动条效果
2017/03/02 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
JS获取指定月份的天数两种实现方法
2018/06/22 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
webpack自动打包和热更新的实现方法
2019/06/24 Javascript
对vuex中store和$store的区别说明
2020/07/24 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Python中__name__的使用实例
2015/04/14 Python
Linux下python与C++使用dlib实现人脸检测
2018/06/29 Python
python 制作自定义包并安装到系统目录的方法
2018/10/27 Python
Python2和Python3.6环境解决共存问题
2018/11/09 Python
python实现全盘扫描搜索功能的方法
2019/02/14 Python
python 使用装饰器并记录log的示例代码
2019/07/12 Python
python集合的创建、添加及删除操作示例
2019/10/08 Python
浅谈matplotlib 绘制梯度下降求解过程
2020/07/12 Python
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
艺校音乐专业自我鉴定范文
2014/03/01 职场文书
领导干部保密承诺书
2014/08/30 职场文书
新员工入职欢迎词
2015/01/23 职场文书
前台文员岗位职责
2015/02/04 职场文书
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang