侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

新手学PHP之数据库操作详解及乱码解决!

php  /  管理员 发布于 7年前   132

很多朋友新学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进行基本的数据添加,删除等操作了,而且代码规范,易于维护。祝各位学习愉快,有不懂的就回帖留言,我会第一时间回复^_^。


  • 上一条:
    Ajax PHP分页演示
    下一条:
    默默小谈PHP&amp;MYSQL分页原理及实现
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客