《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 相关文章推荐
dedecms 制作模板中使用的全局标记图文教程
Mar 11 PHP
elgg 获取文件图标地址的方法
Mar 20 PHP
探讨Hessian在PHP中的使用分析
Jun 13 PHP
Linux Apache PHP Oracle 安装配置(具体操作步骤)
Jun 17 PHP
php实现从上传文件创建缩略图的方法
Apr 02 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
PHP SPL标准库中的常用函数介绍
May 11 PHP
php生成4位数字验证码的实现代码
Nov 23 PHP
分享PHP守护进程类
Dec 30 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
探究Laravel使用env函数读取环境变量为null的问题
Dec 06 PHP
详解php用curl调用接口方法,get和post两种方式
Jan 13 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产生随机字符串函数
2006/12/06 PHP
PHP Stream_*系列函数
2010/08/01 PHP
PHP IF ELSE简化/三元一次式的使用
2011/08/22 PHP
PHP 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
解析php中两种缩放图片的函数,为图片添加水印
2013/06/14 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
php实现的简易扫雷游戏实例
2015/07/09 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
PHP小白必须要知道的php基础知识(超实用)
2017/10/10 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
10个基于Jquery的幻灯片插件教程
2010/10/29 Javascript
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
JS将数字转换成三位逗号分隔的样式(示例代码)
2014/02/19 Javascript
Node.js中的process.nextTick使用实例
2015/06/25 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
基于JavaScript实现活动倒计时效果
2017/04/20 Javascript
Javascript中的getter和setter初识
2017/08/17 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
浅谈Vue 数据响应式原理
2018/05/07 Javascript
浅谈Vue初学之props的驼峰命名
2018/07/19 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
通过5个知识点轻松搞定Python的作用域
2016/09/09 Python
关于numpy中np.nonzero()函数用法的详解
2017/02/07 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
python对绑定事件的鼠标、按键的判断实例
2019/07/17 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
简单了解python 邮件模块的使用方法
2019/07/24 Python
Python关于反射的实例代码分享
2020/02/20 Python
pip install 使用国内镜像的方法示例
2020/04/03 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
Python文件操作的面试题
2013/06/22 面试题
土木工程专业推荐信
2014/02/19 职场文书
经销商年会策划方案
2014/05/29 职场文书
学生病假条怎么写
2015/08/17 职场文书