《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 27 PHP
php反弹shell实现代码
Apr 22 PHP
PHP 变量类型的强制转换
Oct 23 PHP
php&amp;mysql 日期操作小记
Feb 27 PHP
如何在Ubuntu下启动Apache的Rewrite功能
Jul 05 PHP
9段PHP实用功能的代码推荐
Oct 14 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
php无序树实现方法
Jul 28 PHP
yii添删改查实例
Nov 16 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
PHP实现mysqli批量执行多条语句的方法示例
Jul 22 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 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基础知识:类与对象(1)
2006/12/13 PHP
php实现HTML实体编号与非ASCII字符串相互转换类实例
2016/11/02 PHP
PHP结合Vue实现滚动底部加载效果
2017/12/17 PHP
一个简单的javascript类定义例子
2009/09/12 Javascript
div移动 输入框不能输入的问题
2009/11/19 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
ANT 压缩(去掉空格/注释)JS文件可提高js运行速度
2013/04/15 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
Javascript 运动中Offset的bug解决方案
2014/12/24 Javascript
JavaScript设计模式之装饰者模式介绍
2014/12/28 Javascript
javascript中定义类的方法汇总
2014/12/28 Javascript
PHP+jQuery+Ajax实现多图片上传效果
2015/03/14 Javascript
jquery SweetAlert插件实现响应式提示框
2015/08/18 Javascript
基于Angularjs实现分页功能
2016/05/30 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
jquery pagination插件动态分页实例(Bootstrap分页)
2016/12/23 Javascript
原生js实现验证码功能
2017/03/16 Javascript
JavaScript数据结构之二叉树的删除算法示例
2017/04/13 Javascript
Vue父组件调用子组件事件方法
2018/02/23 Javascript
vue实现提示保存后退出的方法
2018/03/15 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
vue项目里面引用svg文件并给svg里面的元素赋值
2020/08/17 Javascript
python读写json文件的简单实现
2017/04/11 Python
Python实现字符串匹配算法代码示例
2017/12/05 Python
python读取word文档,插入mysql数据库的示例代码
2018/11/07 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
澳洲女装时尚在线:Blue Bungalow
2018/05/05 全球购物
行政主管职责范本
2014/03/07 职场文书
股东合作协议书范本
2014/04/14 职场文书
个人担保书范文
2014/05/20 职场文书
企业授权委托书范本
2014/09/22 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书