《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
两个开源的Php输出Excel文件类
Feb 08 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
php中实现简单的ACL 完结篇
Sep 07 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
使用PHP实现Mysql读写分离
Jun 28 PHP
服务器变量 $_SERVER 的深入解析
Jul 02 PHP
php使用exec shell命令注入的方法讲解
Nov 12 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
Jun 30 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
php命令行写shell实例详解
Jul 19 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
Sep 03 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垃圾回收机制简单说明
2010/07/22 PHP
PHP冒泡排序算法代码详细解读
2011/07/17 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
浅谈PHP表单提交(POST&amp;GET&amp;URL编/解码)
2017/04/03 PHP
thinkPHP5框架中widget的功能与用法详解
2018/06/11 PHP
阿里云的WindowsServer2016上部署php+apache
2018/07/17 PHP
js 动态选中下拉框
2009/11/26 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
JS从一组数据中找到指定的单条数据的方法
2016/06/02 Javascript
BootStrap 智能表单实战系列(十)自动完成组件的支持
2016/06/13 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
JavaScript中的return布尔值的用法和原理解析
2017/08/14 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
2018/02/21 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python本地与全局命名空间用法实例
2015/06/16 Python
python3实现ftp服务功能(服务端 For Linux)
2017/03/24 Python
python实现抖音点赞功能
2019/04/07 Python
python进程的状态、创建及使用方法详解
2019/12/06 Python
Python打开文件、文件读写操作、with方式、文件常用函数实例分析
2020/01/07 Python
CentOS 7如何实现定时执行python脚本
2020/06/24 Python
Python 实现RSA加解密文本文件
2020/12/30 Python
python爬虫用request库处理cookie的实例讲解
2021/02/20 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
新西兰杂志订阅:isubscribe
2019/08/26 全球购物
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
大学生入党自我鉴定
2013/10/31 职场文书
暑期社会实践学生的自我评价
2014/01/09 职场文书
搞笑爱情保证书
2014/04/29 职场文书
英语课外活动总结
2014/08/27 职场文书
2014年学习全国道德模范事迹思想汇报
2014/09/15 职场文书
Python实现学生管理系统并生成exe可执行文件详解流程
2022/01/22 Python
openstack云计算keystone组件工作介绍
2022/04/20 Servers
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技