新手学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安全配置
Dec 06 PHP
php5新改动之短标记启用方法
Sep 11 PHP
php获取后台Job管理的实现代码
Jun 10 PHP
php根据指定位置和长度获得子字符串的方法
Mar 17 PHP
PHP实现通过正则表达式替换回调的内容标签
Jun 15 PHP
PHP设计模式之观察者模式实例
Feb 22 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
PHP上传图片、删除图片简单实例
Nov 12 PHP
PHP图片水印类的封装
Jul 06 PHP
laravel 数据验证规则详解
Oct 23 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
PHP日期和时间函数的使用示例详解
Aug 06 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
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php实现加减法验证码代码
2014/02/14 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
php获取访问者IP地址汇总
2015/04/24 PHP
php提交post数组参数实例分析
2015/12/17 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
PHP设计模式之工厂模式实例总结
2017/09/01 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
JS的递增/递减运算符和带操作的赋值运算符的等价式
2007/12/08 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
jquery xMarquee实现文字水平无缝滚动效果
2014/04/29 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
使用Script元素发送JSONP请求的方法
2016/06/12 Javascript
javascript 数组的正态分布排序的问题
2016/07/31 Javascript
js实现点击切换checkbox背景图片的简单实例
2017/05/08 Javascript
Vue中组件之间数据的传递的示例代码
2017/09/08 Javascript
浅谈在不使用ssr的情况下解决Vue单页面SEO问题(2)
2018/11/08 Javascript
关于vue表单提交防双/多击的例子
2019/10/31 Javascript
微信小程序canvas动态时钟
2020/10/22 Javascript
微信小程序自定义modal弹窗组件的方法详解
2020/12/20 Javascript
[51:07]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python获取一组数据里最大值max函数用法实例
2015/05/26 Python
PyQt5+Pycharm安装和配置图文教程详解
2020/03/24 Python
matplotlib之pyplot模块之标题(title()和suptitle())
2021/02/22 Python
CSS3 创建网页动画实现弹跳球动效果
2018/10/30 HTML / CSS
传统HTML页面实现模块化加载的方法
2018/10/15 HTML / CSS
Html5实现iPhone开机界面示例代码
2013/06/30 HTML / CSS
HTML5+WebSocket实现多文件同时上传的实例
2016/12/29 HTML / CSS
巴西香水和化妆品购物网站:The Beauty Box
2019/09/03 全球购物
大四本科生的自我评价
2013/12/30 职场文书
化妆品促销方案
2014/02/24 职场文书
信息学院毕业生自荐信范文
2014/03/04 职场文书
体现团队精神的口号
2014/06/06 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
尝试使用Python爬取城市租房信息
2022/04/12 Python