新手学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 相关文章推荐
让你的WINDOWS同时支持MYSQL4,MYSQL4.1,MYSQL5X
Dec 06 PHP
php 数组的合并、拆分、区别取值函数集
Feb 15 PHP
php常用Stream函数集介绍
Jun 24 PHP
php统计文章排行示例
Mar 04 PHP
php实例分享之二维数组排序
May 15 PHP
php中使用gd库实现下载网页中所有图片
May 12 PHP
Yii2配置Nginx伪静态的方法
May 05 PHP
php 调用百度sms来发送短信的实现示例
Nov 02 PHP
PHP addslashes()函数讲解
Feb 03 PHP
浅谈PHP中的Trait使用方法
Mar 22 PHP
解决laravel 出现ajax请求419(unknown status)的问题
Sep 03 PHP
php png失真的原因及解决办法
Oct 24 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
福利彩票幸运号码自动生成器
2006/10/09 PHP
php知道与问问的采集插件代码
2010/10/12 PHP
PHP命名空间和自动加载类
2016/04/03 PHP
YII中Ueditor富文本编辑器文件和图片上传的配置图文教程
2017/03/15 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
模拟电子签章盖章效果的jQuery插件源码
2013/06/24 Javascript
Nodejs进程管理模块forever详解
2014/06/01 NodeJs
详解JavaScript中的blink()方法的使用
2015/06/08 Javascript
javascript日期格式化方法汇总
2015/10/04 Javascript
js简单网速测试方法完整实例
2015/12/15 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
JavaScript_object基础入门(必看篇)
2016/06/13 Javascript
jQuery post数据至ashx实例详解
2016/11/18 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
基于vue2.x的电商图片放大镜插件的使用
2018/01/22 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
Element ui 下拉多选时新增一个选择所有的选项
2019/08/21 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
[02:05]2014DOTA2国际邀请赛 BBC外卡赛赛后总结
2014/07/09 DOTA
深入解读Python解析XML的几种方式
2016/02/16 Python
对python的输出和输出格式详解
2018/12/08 Python
python基于FTP实现文件传输相关功能代码实例
2019/09/28 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
简单了解Python write writelines区别
2020/02/27 Python
Python爬取365好书中小说代码实例
2020/02/28 Python
Python configparser模块操作代码实例
2020/06/08 Python
基于logstash实现日志文件同步elasticsearch
2020/08/06 Python
Anaconda的安装与虚拟环境建立
2020/11/18 Python
纯CSS3单页切换导航菜单界面设计的简单实现
2016/08/16 HTML / CSS
作为网站管理者应当如何防范XSS
2014/08/16 面试题
初中同学聚会感言
2014/02/11 职场文书
企业环保标语
2014/06/10 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
《七月的天山》教学反思
2016/02/19 职场文书
Spring Boot项目如何优雅实现Excel导入与导出功能
2022/06/10 Java/Android