新手学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 intval的测试代码发现问题
Jul 27 PHP
PHP实时显示输出
Oct 02 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
PHP 通过Socket收发十六进制数据的实现代码
Aug 16 PHP
php使用异或实现的加密解密实例
Sep 04 PHP
thinkphp中memcache的用法实例
Nov 29 PHP
php的sso单点登录实现方法
Jan 08 PHP
深入理解PHP原理之执行周期分析
Jun 01 PHP
thinkphp多表查询两表有重复相同字段的完美解决方法
Sep 22 PHP
PHP crypt()函数的用法讲解
Feb 15 PHP
PHP文件上传小程序 适合初学者学习!
May 23 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 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
按上下级层次关系输出内容的PHP代码
2010/07/17 PHP
PHP stream_context_create()作用和用法分析
2011/03/29 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
php实现图片上传并利用ImageMagick生成缩略图
2016/03/14 PHP
PHP自定义图片缩放函数实现等比例不失真缩放的方法
2016/08/19 PHP
php使用CutyCapt实现网页截图保存的方法
2016/10/03 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
JavaScript 实现??打印?理
2007/04/28 Javascript
解析jquery获取父窗口的元素
2013/06/26 Javascript
createTextRange()的使用示例含文本框选中部分文字内容
2014/02/24 Javascript
jQuery对象的length属性用法实例
2014/12/27 Javascript
浅谈Javascript数组索引
2015/07/29 Javascript
基于jQuery实现的扇形定时器附源码下载
2015/10/20 Javascript
jQuery调用WebMethod(PageMethod) NET2.0的方法
2016/04/15 Javascript
JS中常用的正则表达式
2016/09/29 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
关于meta viewport中target-densitydpi属性详解(推荐)
2017/08/18 Javascript
解决vue 界面在苹果手机上滑动点击事件等卡顿问题
2018/11/27 Javascript
微信小程序云开发 搭建一个管理小程序
2019/05/17 Javascript
在python中安装basemap的教程
2018/09/20 Python
python 切换root 执行命令的方法
2019/01/19 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
python 解决Windows平台上路径有空格的问题
2020/11/10 Python
CSS3属性box-shadow使用指南
2014/12/09 HTML / CSS
巴西在线鞋店:Shoestock
2017/10/28 全球购物
办公室助理岗位职责
2013/12/25 职场文书
群众路线查摆问题及整改措施
2014/10/10 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
2014年体检中心工作总结
2014/12/23 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
奖金申请报告模板
2015/05/15 职场文书
《窃读记》教学反思
2016/02/18 职场文书
Python基本数据类型之字符串str
2021/07/21 Python
Python常遇到的错误和异常
2021/11/02 Python