《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中随机显示图片的函数代码
Jun 23 PHP
解析yahoo邮件用phpmailer发送的实例
Jun 24 PHP
PHP的MVC模式实现原理分析(一相简单的MVC框架范例)
Apr 29 PHP
CI(CodeIgniter)框架中的增删改查操作
Jun 10 PHP
ThinkPHP CURD方法之order方法详解
Jun 18 PHP
ThinkPHP调用common/common.php函数提示错误function undefined的解决方法
Aug 25 PHP
thinkphp浏览历史功能实现方法
Oct 29 PHP
Laravel中使用自己编写类库的3种方法
Feb 10 PHP
php实现发送微信模板消息的方法
Mar 07 PHP
PHP Echo字符串的连接格式
Mar 07 PHP
浅谈PHP的排列组合(如输入a,b,c 输出他们的全部组合)
Mar 14 PHP
php双向队列实例讲解
Nov 17 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实现将浏览历史页面网址保存到cookie的方法
2015/01/26 PHP
php实现源代码加密的方法
2015/07/11 PHP
Thinkphp5框架中引入Markdown编辑器操作示例
2020/06/03 PHP
一些mootools的学习资源
2010/02/07 Javascript
深入理解JavaScript系列(6) 强大的原型和原型链
2012/01/15 Javascript
div失去焦点事件实现思路
2014/04/22 Javascript
javascript学习笔记(三)BOM和DOM详解
2014/09/30 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
深入理解JavaScript系列(46):代码复用模式(推荐篇)详解
2015/03/04 Javascript
JavaScript使用replace函数替换字符串的方法
2015/04/06 Javascript
JS实现仿微博可关闭弹出层效果
2015/09/21 Javascript
JavaScript获取对象在页面中位置坐标的方法
2016/02/03 Javascript
全面解析JavaScript中的valueOf与toString方法(推荐)
2016/06/14 Javascript
详解vue 中使用 AJAX获取数据的方法
2017/01/18 Javascript
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
React Native 搭建开发环境的方法步骤
2017/10/30 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
使用vue实现一个电子签名组件的示例代码
2020/01/06 Javascript
bootstrap-paginator服务器端分页使用方法详解
2020/02/13 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
[01:08:30]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant BO3 第一场 2月28日
2021/03/11 DOTA
python网络编程之UDP通信实例(含服务器端、客户端、UDP广播例子)
2014/04/25 Python
Python中还原JavaScript的escape函数编码后字符串的方法
2014/08/22 Python
Python模拟随机游走图形效果示例
2018/02/06 Python
python实现requests发送/上传多个文件的示例
2018/06/04 Python
利用Python如何制作好玩的GIF动图详解
2018/07/11 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
Python中利用aiohttp制作异步爬虫及简单应用
2018/11/29 Python
python3 自动识别usb连接状态,即对usb重连的判断方法
2019/07/03 Python
Python 中Operator模块的使用
2021/01/30 Python
德国家具折扣店:POCO
2020/02/28 全球购物
大学生职业生涯规划方案
2014/01/03 职场文书
五好党支部事迹材料
2014/02/06 职场文书
亲情作文之母爱
2019/09/25 职场文书
浅谈react useEffect闭包的坑
2021/06/08 Javascript
MySQL索引失效十种场景与优化方案
2023/05/08 MySQL