《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 相关文章推荐
在线增减.htpasswd内的用户
Oct 09 PHP
PHP 变量的定义方法
Jan 26 PHP
php中截取中文字符串的代码小结
Jul 17 PHP
PHP5中Cookie与 Session使用详解
Apr 30 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
Aug 20 PHP
yii2 modal弹窗之ActiveForm ajax表单异步验证
Jun 13 PHP
php 解析xml 的四种方法详细介绍
Oct 26 PHP
PHP中PCRE正则解析代码详解
Apr 26 PHP
php 策略模式原理与应用深入理解
Sep 25 PHP
laravel实现Auth认证,登录、注册后的页面回跳方法
Sep 30 PHP
TP3.2.3框架使用CKeditor编辑器在页面中上传图片的方法分析
Dec 31 PHP
ThinkPHP5分页paginate代码实例解析
Nov 10 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/10/09 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
PHP 芝麻信用接入的注意事项
2016/12/01 PHP
PHP实现找出链表中环的入口节点
2018/01/16 PHP
基于JavaScript实现 获取鼠标点击位置坐标的方法
2013/04/12 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
2014/05/29 Javascript
javascript转换日期字符串为Date日期对象的方法
2015/02/13 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
喜大普奔!jQuery发布 3.0 最终版
2016/06/12 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
Bootstrap在线电子商务网站实战项目5
2016/10/14 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
element 结合vue 在表单验证时有值却提示错误的解决办法
2018/01/22 Javascript
详解vue-router 初始化时做了什么
2018/06/11 Javascript
微信小程序日历/日期选择插件使用方法详解
2018/12/28 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
python爬虫之BeautifulSoup 使用select方法详解
2017/10/23 Python
对Python中DataFrame按照行遍历的方法
2018/04/08 Python
更改Python的pip install 默认安装依赖路径方法详解
2018/10/27 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
Django基础三之视图函数的使用方法
2019/07/18 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
matplotlib基础绘图命令之errorbar的使用
2020/08/13 Python
Python实现加密的RAR文件解压的方法(密码已知)
2020/09/11 Python
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
解析浏览器的一些“滚动”行为鉴赏
2019/09/16 HTML / CSS
微软香港官网及网上商店:Microsoft HK
2016/09/01 全球购物
Topman美国官网:英国著名的国际平价时尚男装品牌
2017/12/22 全球购物
银行毕业实习自我鉴定
2013/09/19 职场文书
临床医学专业个人的自我评价
2013/09/27 职场文书
黄河象教学反思
2014/02/10 职场文书
网络管理员岗位职责
2015/02/12 职场文书
AJAX学习笔记
2021/05/18 Javascript
python 如何在list中找Topk的数值和索引
2021/05/20 Python
ECharts transform数据转换和dataZoom在项目中使用
2022/12/24 Javascript