新手学PHP之数据库操作详解及乱码解决!


Posted in PHP onJanuary 02, 2007

很多朋友新学PHP也许在数据库方面会有点麻烦,尤其是MYSQL4.1.x以后会出现乱码问题。这里写个简单教程,希望对新手有点帮助。也许很多朋友之前是学ASP的(本人也是),有可能怀念ASP的set rs=adodb.recorset(我靠,太久没做ASP,后面的好像有点错,想不起来了!凑活着看吧!)然后就rs.open,rs.movenext...........可是PHPA是依靠很多数据库操作函数来控制,比如:mysql_connect();mysql_select_db();...........那如果页面多,难道要一个个的重复写这些函数???当然不用,现在给大家个数据库操作类,里面包含了大多数,数据库操作的方法,包含基本配置信息,以后大家需要调用数据库信息就直接包含这个页面就可以,下面给出代码及使用方法。
   首先需要两个页面1.config.inc.php代码: 
   

<?php         //数据库参数变量设定  
       //$dbhost:主机名  
       //$dbuser:连接帐户  
       //$dbpassword:连接密码  
       //$dbname:数据库名  
      //下面已我机子配置为例,  
      //请大家根据自己的数据库配置信息配置这个文件即可  
      //--------------------------------------------------------------------  
       $dbhost="localhost";  
       $dbuser="root";  
       $dbpassword="7529639";  
       $dbname="cr_download";  
      //--------------------------------------------------------------------  
   ?> 
另一个就是数据库操作类页面了dbclass.php
<?php  
//定义数据库操作类  
class db{  
       //类属性定义  
       var $dbhost="localhost";//MYSQL主机  
       var $dbuser="root";//连接帐户  
       var $password="";//连接密码  
       var $dbname="";//数据库名  
      //变量引用  
       function mysql($dbhost,$dbuser,$password,$dbname){  
           $this->dbhost=$dbhost;  
           $this->dbuser=$dbuser;  
           $this->password=$password;  
           $this->dbname=$dbname;  
       }  
    //创建MYSQL连接  
       function mycon(){  
        @mysql_connect($this->dbhost,$this->dbuser,$this->password);  
    }  
    //选择相应的数据库  
    function selectdb(){  
     @mysql_select_db($this->db);  
    }         //创建数据库连接并选择相应数据库  
       function createcon(){  
           mysql_connect($this->dbhost,$this->dbuser,$this->password);  
           mysql_query("SET NAMES 'GBK'");//这是解决乱码的关键哦,LINUX下改为UTF8  
           mysql_select_db($this->dbname);  
       }  
    //执行SQL语句,并返回结果集  
       function fetch_array($sql){  
           $result=mysql_query($sql);  
           return mysql_fetch_array($result);  
       }  
    //执行SQL语句  
    function query($sql){  
        return mysql_query($sql);  
    }  
    //取得结果集数组  
    function loop_query($result){  
        return mysql_fetch_array($result);  
    }  
    //关闭数据库连接  
    function close() {  
        return mysql_close();  
    }  
   }  
?> 

下面讲下用法:
如果一个页面要涉及数据库操作,请这样使用: 
<?php      include('inc/config.inc.php');//包含数据库基本配置信息  
    include('inc/dbclass.php');//包含数据库操作类  
   //以下以插入一条数据为例说明,其他操作用法相似  
   //-----------------------------------------------------------------------------------  
   $db=new db;//从数据库操作类生成实例,OOP还是好啊  
   $db->mysql($dbhost,$dbuser,$dbpassword,$dbname);//调用连接参数函数  
   $db->createcon();//调用创建连接函数  
   //-----------------------------------------------------------------------------------  
   //开始插入数据  
   //-----------------------------------------------------------------------------------  
   $addsql="insert into cr_userinfo values(0,'$username','$userpwd','$time',50,1,'$userquestion','$useranswer')";  
   $db->query($addsql);  
   echo"<img src=images/pass.gif> <font color=red>恭喜您,注册成功!请点击<a href=login.php>这里</a>登录!</font>";  
   $db->close();//关闭数据库连接   
?>

好了,看完这篇文章相信新手们可以很好的使用PHP对MYSQL进行基本的数据添加,删除等操作了,而且代码规范,易于维护。祝各位学习愉快,有不懂的就回帖留言,我会第一时间回复^_^。
PHP 相关文章推荐
PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)
Jul 23 PHP
PHP处理excel cvs表格的方法实例介绍
May 13 PHP
php魔术变量用法实例详解
Nov 13 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
Feb 03 PHP
php获取百度收录、百度热词及百度快照的方法
Apr 02 PHP
PHP变量赋值、代入给JavaScript中的变量
Jun 29 PHP
PHP+Javascript实现在线拍照功能实例
Jul 18 PHP
linux下为php添加iconv模块的方法
Feb 28 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 PHP
PHP用户注册邮件激活账户的实现代码
May 31 PHP
微信企业转账之入口类分装php代码
Oct 01 PHP
PHP中localeconv()函数的用法
Mar 26 PHP
默默小谈PHP&amp;MYSQL分页原理及实现
Jan 02 #PHP
默默简单的写了一个模板引擎
Jan 02 #PHP
超强分页类2.0发布,支持自定义风格,默认4种显示模式
Jan 02 #PHP
PHP小技巧搜集,每个PHPer都来露一手
Jan 02 #PHP
实例(Smarty+FCKeditor新闻系统)
Jan 02 #PHP
PHP+JS无限级可伸缩菜单详解(简单易懂)
Jan 02 #PHP
PHP文件上传实例详解!!!
Jan 02 #PHP
You might like
DSP接收机前端设想
2021/03/02 无线电
用PHP实现 上一篇、下一篇的代码
2012/09/29 PHP
php include和require的区别深入解析
2013/06/17 PHP
PHP采集类snoopy详细介绍(snoopy使用教程)
2014/06/19 PHP
PHP的JSON封装、转变及输出操作示例
2019/09/27 PHP
php实现图片压缩处理
2020/09/09 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
JSON 编辑器实现代码
2009/12/06 Javascript
qTip 基于JQuery的Tooltip插件[兼容性好]
2010/09/01 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
Javascript浅谈之this
2013/12/17 Javascript
自编jQuery插件实现模拟alert和confirm
2014/09/01 Javascript
JavaScript继承学习笔记【新手必看】
2016/05/10 Javascript
使用JQuery中的trim()方法去掉前后空格
2016/09/16 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
微信小程序的开发范式BeautyWe.js入门详解
2019/07/10 Javascript
关于vue项目中搜索节流的实现代码
2019/09/17 Javascript
layui table 表格上添加日期控件的两种方法
2019/09/28 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
50行代码实现贪吃蛇(具体思路及代码)
2013/04/27 Python
详解Python字符串对象的实现
2015/12/24 Python
详解python中asyncio模块
2018/03/03 Python
解决python中 f.write写入中文出错的问题
2018/10/31 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
Python绘制全球疫情变化地图的实例代码
2020/04/20 Python
python新手学习使用库
2020/06/11 Python
python切片作为占位符使用实例讲解
2021/02/17 Python
Bluebella德国官网:英国性感内衣和睡衣品牌
2019/11/08 全球购物
公司承诺书格式
2014/05/21 职场文书
合伙经营协议书范本
2014/09/13 职场文书
Python入门之基础语法详解
2021/05/11 Python
python 如何做一个识别率百分百的OCR
2021/05/29 Python
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android
python运行脚本文件的三种方法实例
2022/06/25 Python