新手学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+MYSQL的文章管理系统(二)
Oct 09 PHP
简单示例AJAX结合PHP代码实现登录效果代码
Jul 25 PHP
PHP+ajax 无刷新删除数据
Feb 20 PHP
一步一步学习PHP(8) php 数组
Mar 05 PHP
Windows7下PHP开发环境安装配置图文方法
May 20 PHP
php使用mb_check_encoding检查字符串在指定的编码里是否有效
Nov 07 PHP
php建立Ftp连接的方法
Mar 07 PHP
PHP也能干大事之PHP中的编码解码详解
Apr 20 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
Yii2创建控制器(createController)方法详解
Jul 23 PHP
Laravel+Intervention实现上传图片功能示例
Jul 09 PHP
laravel 关联关系遍历数组的例子
Oct 10 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中DOMDocument简单用法示例代码(XML创建、添加、删除、修改)
2010/12/19 PHP
zend framework配置操作数据库实例分析
2012/12/06 PHP
php中 $$str 中 &quot;$$&quot; 的详解
2015/07/06 PHP
php与python实现的线程池多线程爬虫功能示例
2016/10/12 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
javascript去掉前后空格的实例
2013/11/07 Javascript
js动态修改input输入框的type属性(实现方法解析)
2013/11/13 Javascript
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
jquery实现实时改变网页字体大小、字体背景色和颜色的方法
2015/08/05 Javascript
javascript之Boolean类型对象
2016/06/07 Javascript
微信小程序 常用工具类详解及实例
2017/02/15 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
基于jQuery使用Ajax动态执行模糊查询功能
2018/07/05 jQuery
使用javascript做时间倒数读秒功能的实例
2019/01/23 Javascript
AjaxFileUpload.js实现异步上传文件功能
2019/04/19 Javascript
详解vue中使用axios对同一个接口连续请求导致返回数据混乱的问题
2019/11/06 Javascript
[01:32]完美世界DOTA2联赛10月29日精彩集锦
2020/10/30 DOTA
Python httplib,smtplib使用方法
2008/09/06 Python
python中assert用法实例分析
2015/04/30 Python
利用Python爬虫给孩子起个好名字
2017/02/14 Python
Python实现 多进程导入CSV数据到 MySQL
2017/02/26 Python
python实现简易云音乐播放器
2018/01/04 Python
python图书管理系统
2020/04/05 Python
python2.7实现FTP文件下载功能
2018/04/15 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Yves Rocher伊夫·黎雪美国官网:法国始创植物美肌1959
2019/01/09 全球购物
俄罗斯茶和咖啡网上商店:Tea.ru
2021/01/26 全球购物
一份比较全的PHP面试题
2016/07/29 面试题
财务部岗位职责
2013/11/19 职场文书
党员自我对照检查材料
2014/08/19 职场文书
2015年教学管理工作总结
2015/05/20 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
javascript对象3个属性特征
2021/11/17 Javascript
详解使用内网穿透工具Ngrok代理本地服务
2022/03/31 Servers