新手学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 相关文章推荐
source.php查看源文件
Dec 09 PHP
php mysql Errcode: 28 终极解决方法
Jul 01 PHP
用Json实现PHP与JavaScript间数据交换的方法详解
Jun 20 PHP
php使用sql数据库 获取字段问题介绍
Aug 12 PHP
php mail to 配置详解
Jan 16 PHP
YII Framework框架教程之日志用法详解
Mar 14 PHP
抛弃 PHP 代价太高
Apr 26 PHP
ThinkPHP框架实现数据增删改
May 07 PHP
Laravel中encrypt和decrypt的实现方法
Sep 24 PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 PHP
PHP Laravel中的Trait使用方法
Jan 20 PHP
Laravel使用Queue队列的技巧汇总
Sep 02 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求两个文件的相对路径
2013/06/20 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
Thinkphp中Create方法深入探究
2014/06/16 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
Smarty简单生成表单元素的方法示例
2016/05/23 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
PHP中字符串长度的截取用法示例
2017/01/12 PHP
PHP进程通信基础之信号量与共享内存通信
2017/02/19 PHP
jscript之Read an Excel Spreadsheet
2007/06/13 Javascript
javascript中&quot;/&quot;运算符常见错误
2010/10/13 Javascript
js分页代码分享
2014/04/28 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
轻松掌握JavaScript享元模式
2016/08/27 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
探索webpack模块及webpack3新特性
2017/09/18 Javascript
JavaScript通过mouseover()实现图片变大效果的示例
2017/12/20 Javascript
JavaScript函数、闭包、原型、面向对象学习笔记
2018/09/06 Javascript
微信小程序日历效果
2018/12/29 Javascript
从组件封装看Vue的作用域插槽的实现
2019/02/12 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
vue实现路由监听和参数监听
2019/10/29 Javascript
JS Html转义和反转义(html编码和解码)的实现与使用方法总结
2020/03/10 Javascript
JavaScript或jQuery 获取option value值方法解析
2020/05/12 jQuery
梯度下降法介绍及利用Python实现的方法示例
2017/07/12 Python
Python环境搭建之OpenCV的步骤方法
2017/10/20 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
Python实现字符串匹配的KMP算法
2019/04/04 Python
Python数据类型之列表和元组的方法实例详解
2019/07/08 Python
python安装scipy的步骤解析
2019/09/28 Python
python中的函数递归和迭代原理解析
2019/11/14 Python
九年级化学教学反思
2014/01/28 职场文书
大学生求职计划书
2014/04/30 职场文书
青年教师个人总结
2015/02/11 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
Java 使用类型为Object的变量指向任意类型的对象
2022/04/13 Java/Android