《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开发模式(简写版)
Mar 15 PHP
php xml-rpc远程调用
Dec 19 PHP
基于Zookeeper的使用详解
May 02 PHP
使用PHP求两个文件的相对路径
Jun 20 PHP
codeigniter框架批量插入数据
Jan 09 PHP
基于GD2图形库的PHP生成图片缩略图类代码分享
Feb 08 PHP
php中switch与ifelse的效率区别及适用情况分析
Feb 12 PHP
PHP编程实现微信企业向用户付款的方法示例
Jul 26 PHP
PHP排序算法之冒泡排序(Bubble Sort)实现方法详解
Apr 20 PHP
PHP操作Postgresql封装类与应用完整实例
Apr 24 PHP
通过PHP设置BugFree获取邮箱通知
Apr 25 PHP
PHP实现15位身份证号转18位的方法分析
Oct 16 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禁用函数设置及查看方法详解
2016/07/25 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
通过ifame指向的页面高度调整iframe的高度
2006/10/05 Javascript
SUN的《AJAX与J2EE》全文译了
2007/02/23 Javascript
在html页面上拖放移动标签
2010/01/08 Javascript
经典海量jQuery插件 大家可以收藏一下
2010/02/07 Javascript
jquery常用技巧及常用方法列表集合
2011/04/06 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
js获取form表单所有数据的简单方法
2016/08/18 Javascript
Bootstrap Table使用心得总结
2016/11/29 Javascript
如何解决vue与传统jquery插件冲突
2017/03/20 Javascript
浅谈React Native Flexbox布局(小结)
2018/01/08 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
nodejs实现百度舆情接口应用示例
2020/02/07 NodeJs
Python实现简单状态框架的方法
2015/03/19 Python
python做量化投资系列之比特币初始配置
2018/01/23 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
后端开发使用pycharm的技巧(推荐)
2020/03/27 Python
基于python实现计算且附带进度条代码实例
2020/03/31 Python
如何基于pandas读取csv后合并两个股票
2020/09/25 Python
借助HTML5 Canvas API制作一个简单的猜字游戏
2016/03/25 HTML / CSS
HTML5之tabindex属性全面解析
2016/07/07 HTML / CSS
Roots加拿大官网:加拿大休闲服饰品牌
2016/10/24 全球购物
STAY JAPAN台湾:预订日本民宿
2018/07/22 全球购物
法国低价在线宠物商店:bitiba.fr
2020/07/03 全球购物
C#里面如何判断一个Object是否是某种类型(如Boolean)?
2016/02/10 面试题
民族团结先进个人材料
2014/02/05 职场文书
人事科岗位职责范本
2014/03/02 职场文书
调查研究项目计划书
2014/04/29 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
电气工程师岗位职责
2015/02/12 职场文书
广播体操比赛主持词
2015/06/29 职场文书
粗暴解决CUDA out of memory的问题
2021/05/22 Python
React配置子路由的实现
2021/06/03 Javascript
了解MySQL查询语句执行过程(5大组件)
2022/08/14 MySQL