新手学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 相关文章推荐
一个连接两个不同MYSQL数据库的PHP程序
Oct 09 PHP
php获取地址栏信息的代码
Oct 08 PHP
AMFPHP php远程调用(RPC, Remote Procedure Call)工具 快速入门教程
May 10 PHP
php数组函数序列之array_search()- 按元素值返回键名
Nov 04 PHP
php基础教程 php内置函数实例教程
Aug 21 PHP
header导出Excel应用示例
Jan 24 PHP
laravel 5 实现模板主题功能(续)
Mar 02 PHP
php session 写入数据库
Feb 13 PHP
PHP对称加密函数实现数据的加密解密
Oct 27 PHP
Yii2框架实现数据库常用操作总结
Feb 08 PHP
yii2.0框架场景的简单使用示例
Jan 25 PHP
PHP代码覆盖率统计详解
Jul 22 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相当简单的分页类
2008/10/02 PHP
php操作redis缓存方法分享
2015/06/03 PHP
php表单提交实例讲解
2015/11/12 PHP
php封装的page分页类完整实例
2016/10/18 PHP
yii框架数据库关联查询操作示例
2019/10/14 PHP
javascript CSS画图之基础篇
2009/07/29 Javascript
javascript实现焦点滚动图效果 具体方法
2013/06/24 Javascript
js字符串截取函数substr substring slice使用对比
2013/11/27 Javascript
JavaScript中的数组操作介绍
2014/12/30 Javascript
详解jQuery的Cookie插件
2016/11/23 Javascript
移动开发之自适应手机屏幕宽度
2016/11/23 Javascript
vue中使用ueditor富文本编辑器
2018/02/08 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
JavaScript中的执行环境和作用域链
2020/09/04 Javascript
Python脚本实现自动将数据库备份到 Dropbox
2017/02/06 Python
浅析python递归函数和河内塔问题
2017/04/18 Python
Python只用40行代码编写的计算器实例
2017/05/10 Python
Python Socket实现简单TCP Server/client功能示例
2017/08/05 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
解决python ogr shp字段写入中文乱码的问题
2018/12/31 Python
解决Python3 控制台输出InsecureRequestWarning问题
2019/07/15 Python
python采集百度搜索结果带有特定URL的链接代码实例
2019/08/30 Python
PyCharm无法识别PyQt5的2种解决方法,ModuleNotFoundError: No module named 'pyqt5'
2020/02/17 Python
Django-Scrapy生成后端json接口的方法示例
2020/10/06 Python
Python Pandas数据分析工具用法实例
2020/11/05 Python
Python 实现PS滤镜中的径向模糊特效
2020/12/03 Python
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
美国名表在线商城:Ashford(支持中文)
2019/09/24 全球购物
土木工程建筑专业毕业生求职信
2013/10/21 职场文书
工商管理专业应届生求职信
2013/11/04 职场文书
领导干部培训感言
2014/01/23 职场文书
土地租赁协议书
2015/01/29 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
2019学校请假条格式及范文
2019/06/25 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技