新手学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 中的批处理的实现
Jun 14 PHP
PHP MVC模式在网站架构中的实现分析
Mar 04 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
May 04 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
php使用CURL伪造IP和来源实例详解
Jan 15 PHP
smarty模板引擎中自定义函数的方法
Jan 22 PHP
PHP实现自动对图片进行滚动显示的方法
Mar 12 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 PHP
PHP实现文件上传和多文件上传
Dec 24 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
Zend Framework教程之资源(Resources)用法实例详解
Mar 14 PHP
php禁用cookie后session设置方法分析
Oct 19 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实现即时输出、实时输出内容方法
2015/05/27 PHP
PHP中引用类型和值类型功能与用法示例
2019/02/26 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
javascript下利用arguments实现string.format函数
2010/08/24 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
通过复制Table生成word和excel的javascript代码
2014/01/20 Javascript
jQuery中 delegate使用的问题
2015/07/03 Javascript
深入理解JS中的substr和substring
2016/04/26 Javascript
用自定义图片代替原生checkbox实现全选,删除以及提交的方法
2016/10/18 Javascript
关于javascript事件响应的基础语法总结(必看篇)
2016/12/26 Javascript
基于Bootstrap实现城市三级联动
2017/11/23 Javascript
angularJs-$http实现百度搜索时的动态下拉框示例
2018/02/27 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
详解如何创建并发布一个 vue 组件
2018/11/08 Javascript
React+Redux实现简单的待办事项列表ToDoList
2019/09/29 Javascript
Vue在chrome44偶现点击子元素事件无法冒泡的解决方法
2019/12/15 Javascript
手写Vue源码之数据劫持示例详解
2021/01/04 Vue.js
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
python list语法学习(带例子)
2013/11/01 Python
python生成随机验证码(中文验证码)示例
2014/04/03 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
python实现kNN算法
2017/12/20 Python
Django添加favicon.ico图标的示例代码
2018/08/07 Python
Flask之请求钩子的实现
2018/12/23 Python
pytorch之inception_v3的实现案例
2020/01/06 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
生产经理的自我评价分享
2013/11/07 职场文书
毕业生欢送会主持词
2014/03/31 职场文书
沙滩主题婚礼活动策划方案
2014/09/15 职场文书
股东授权委托书
2014/10/15 职场文书
小学教师学习党的群众路线教育实践活动心得体会
2014/10/31 职场文书
2014年班主任工作总结
2014/11/08 职场文书
2015年六一儿童节活动总结
2015/02/11 职场文书
2015年企业团支部工作总结
2015/05/21 职场文书
买卖合同纠纷代理词
2015/05/25 职场文书