新手学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 相关文章推荐
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
PHP插入排序实现代码
Apr 04 PHP
PHP实现图片裁剪、添加水印效果代码
Oct 01 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
Laravel 5框架学习之子视图和表单复用
Apr 09 PHP
smarty高级特性之对象的使用方法
Dec 25 PHP
php简单实现多语言切换的方法
May 09 PHP
ThinkPHP实现附件上传功能
Apr 27 PHP
PHP如何获取当前主机、域名、网址、路径、端口等参数
Jun 09 PHP
php 可变函数使用小结
Jun 12 PHP
PHP的mysqli_rollback()函数讲解
Jan 23 PHP
PHP使用非对称加密算法RSA
Apr 21 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安装问题
2006/10/09 PHP
Symfony2框架学习笔记之表单用法详解
2016/03/18 PHP
详解PHP匿名函数与注意事项
2016/03/29 PHP
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
动态表格Table类的实现
2009/08/26 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
jQuery侧边栏随窗口滚动实现方法
2013/03/04 Javascript
图片上传插件jquery.uploadify详解
2013/11/15 Javascript
使用JavaScript和C#中获得referer
2014/11/14 Javascript
JavaScript中textRange对象使用方法小结
2015/03/24 Javascript
使用jquery实现鼠标滑过弹出更多相关信息层附源码下载
2015/11/23 Javascript
JavaScript对象数组如何按指定属性和排序方向进行排序
2016/06/15 Javascript
js原生之焦点图转换加定时器实例
2016/12/12 Javascript
通过修改360抢票的刷新频率和突破8车次限制实现方法
2017/01/04 Javascript
前端html中jQuery实现对文本的搜索功能并把搜索相关内容显示出来
2017/11/14 jQuery
vue实现后台管理权限系统及顶栏三级菜单显示功能
2019/06/19 Javascript
layui按条件隐藏表格列的实例
2019/09/19 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
django+echart绘制曲线图的方法示例
2018/11/26 Python
pyqt5与matplotlib的完美结合实例
2019/06/21 Python
python求绝对值的三种方法小结
2019/12/04 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
2020/03/30 Python
Django表单提交后实现获取相同name的不同value值
2020/05/14 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
2020/10/22 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
Shein英国:女性时尚网上商店
2019/04/10 全球购物
New delete 与malloc free 的联系与区别
2013/02/04 面试题
行政管理专业推荐信
2013/11/02 职场文书
迟到检讨书500字
2014/02/05 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
新闻学专业求职信
2014/07/28 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL
详解Nginx 被动检查服务器的存活状态
2021/10/16 Servers