找回密码
 注册
【阿里云】2核2G云服务器新老同享 99元/年,续费同价,云服务器3年机/5年机限时抢购,低至 2.5折华为云精选云产品特惠糖果主机Jtti,新加坡服务器,美国服务器,香港服务器,海外云服务器
查看: 967|回复: 0

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

[复制链接]
发表于 2007 年 1 月 19 日 14:03:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

×
很多朋友新学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代码:


CODE:

<?php
      
    //数据库参数变量设定
    //$dbhost:主机名
    //$dbuser:连接帐户
    //$dbpassword:连接密码
    //$dbname:数据库名
    //下面已我机子配置为例,
    //请大家根据自己的数据库配置信息配置这个文件即可
    //--------------------------------------------------------------------
    $dbhost="localhost";
    $dbuser="root";
    $dbpassword="7529639";
    $dbname="cr_download";
    //--------------------------------------------------------------------

  ?>

[Copy to clipboard]

另一个就是数据库操作类页面了dbclass.php


CODE:

<?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();
  }
  }
?>


[Copy to clipboard]


下面讲下用法:
如果一个页面要涉及数据库操作,请这样使用:

CODE:

<?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();//关闭数据库连接

?>


[Copy to clipboard]


好了,看完这篇文章相信新手们可以很好的使用PHP对MYSQL进行基本的数据添加,删除等操作了,而且代码规范,易于维护
Jgwy.Com - Free Web Hosting Guide & Directory In China since 2001! Jgwy.Net-Jglt.Net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|金光论坛

GMT+8, 2024 年 9 月 20 日 23:41 , Processed in 0.094354 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表