《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 相关文章推荐
PHP中上传大体积文件时需要的设置
Oct 09 PHP
对Session和Cookie的区分与解释
Mar 16 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
May 26 PHP
服务器web工具 php环境下
Dec 29 PHP
php像数组一样存取和修改字符串字符
Mar 21 PHP
ThinkPHP中ajax使用实例教程
Aug 22 PHP
php基于mcrypt的加密解密实例
Oct 27 PHP
ThinkPHP实现带验证码的文件上传功能实例
Nov 01 PHP
php通过array_unshift函数添加多个变量到数组前端的方法
Mar 18 PHP
PHP经典面试题集锦
Mar 19 PHP
PHP基于yii框架实现生成ICO图标
Nov 13 PHP
PHP如何通过带尾指针的链表实现'队列'
Oct 22 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下使用SimpleXML 处理XML 文件
2010/02/27 PHP
php5.3 注意事项说明
2013/07/01 PHP
PHP文件读写操作相关函数总结
2014/11/18 PHP
PHP面向对象程序设计类的定义与用法简单示例
2016/12/27 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
关于javascript中dataset的问题小结
2015/11/16 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
Angular2使用Angular CLI快速搭建工程(一)
2017/05/21 Javascript
详解使用nvm管理多版本node的方法
2017/08/30 Javascript
JavaScript实现树的遍历算法示例【广度优先与深度优先】
2017/10/26 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
2019/09/04 Javascript
Vue如何循环提取对象数组中的值
2020/11/18 Vue.js
手把手教你如何编译打包video.js
2020/12/09 Javascript
Python基于回溯法子集树模板解决找零问题示例
2017/09/11 Python
Windows下Anaconda的安装和简单使用方法
2018/01/04 Python
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
在Python中COM口的调用方法
2019/07/03 Python
Python分析最近大火的网剧《隐秘的角落》
2020/07/02 Python
pytorch加载自己的图像数据集实例
2020/07/07 Python
python使用selenium爬虫知乎的方法示例
2020/10/28 Python
python源文件的字符编码知识点详解
2021/03/04 Python
css3设置box-pack和box-align让div里面的元素垂直居中
2014/09/01 HTML / CSS
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
Lulu & Georgia官方网站:购买地毯、家具、抱枕、壁纸、床上用品等
2018/03/19 全球购物
毕业学生推荐信
2013/12/01 职场文书
上课睡觉检讨书
2014/01/28 职场文书
夜不归宿检讨书
2014/02/25 职场文书
青年文明号申报材料
2014/12/23 职场文书
2016八一建军节慰问信
2015/11/30 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书