+ -
当前位置:首页 → 问答吧 → 分享一个简陋的数据库连接类没什么特别不过基本可以解决一般的中文乱码问题

分享一个简陋的数据库连接类没什么特别不过基本可以解决一般的中文乱码问题

时间:2009-02-23

来源:互联网

[php]
<?php
/*
* Created on 2009-2-11
*
* To change the template for this generated file go to
* Window - Preferences - PHPeclipse - PHP - Code Templates
*/
class dbse
{
   private $host="";
   private $usename="";
   private $uaspassword="";
   private $charset="";
   private $char="";
   private $conn="";
   public $param_char="";

   function __construct($host,$usename,$usepassword,$_db)
   {
       $this->host=$host;
       $this->usename=$usename;
       $this->usepassword=$usepassword;
       $this->_db=$_db;
       }
       function connect($type="")
       {
           $cms_host=$this->host;
           $cms_usename=$this->usename;
           $cms_usepassword=$this->usepassword;
           $cms_db=$this->_db;
           switch($type)
            { case mysql:
                         $this->conn=mysql_connect($cms_host,$cms_usename,$cms_usepassword);
                         mysql_select_db($cms_db);
                         //echo "successfully connection!";
                         break;
              case sqlserver:
                         echo "waiting imported!";
                         break;
              default :
                         $this->conn=mysql_connect($cms_host,$cms_usename,$cms_usepassword);
                         mysql_select_db($cms_db);
                         echo "successfully connection!";
                          break;
            }
       }
        function fetch_one($sql)
       {
          $result=mysql_query($sql);
          $row=mysql_fetch_row($result);
          mysql_free_result($result);
          return $row[0];
       }
    public function db_update($sql)
    {
     $sql=$this->makesql($sql);
     mysql_query($sql);
    }
       private function makesql($oldsql)
       {
           if(!GET_MAGIC_QUOTES_GPC())
           {
           addslashes($oldsql);
           return $oldsql;
           }
           $this->p_error();
       }
            public function db_query($sql)
       {
             $sql=$this->makesql($sql);
             $result=mysql_query($sql);
             if(!$result){
             //echo "查询失败<br/>";
          echo $sql;
             }

       }
       public function fetch_results($sql)
       {      $results=array();
              $sql=$this->makesql($sql);
              //echo $sql;
           $result=mysql_query($sql)or die (" $sql;");
           $i=0;
           while($row=mysql_fetch_array($result))
           {

               $results[$i]=$row;
               $i++;
           }
           return $results;
       }
    public function db_free($result)
    {
          mysql_free($result);
    }
       public function set_character($chartype="")
       {
            //将客户端和链接数据库字符集与数据库字符集保持一致
            $char=$this->fetch_one("select @@character_set_database");
            $sql='set @@character_set_client='."$char";
            //echo $sql;
            mysql_query($sql)or die("set @@character_set_client badly");
            $sql='set @@character_set_connection='."$char";
           //echo $sql;
            mysql_query($sql)or die("set @@character_set_connection badly");
        //将查询返回数据与程序字符集一致
        $this->param_char="$chartype";
           $sql='set @@character_set_results='."$this->param_char";
           //echo $sql;
           $result=mysql_query($sql)or die("set @@character_set_results badly");
           /*if($result){
               echo "successfully!";
           }*/
       }
       function __destrcut()
       {
       }
       function un_connect()
       {
           mysql_close($this->conn);
       }
       function p_error()
       {
            //echo "<br/>===================="."call_error"."======================================<br/>";
           // print_r(Debug_backtrace());
            //echo "<br/>===================="."call_error"."======================================<br/>";
            //print_r(Debug_print_backtrace());
       }
}
$select_table="url_table";//平时的查询数据表是test表
$update_table="url_table_back";//程序升级时供查询的表是test_back
/**
  *数据表切换开关
  *
  *
  **/
  if(isset($_GET["up"]))
  {
   $up=urlencode($_GET["up"]);
   if($_GET["up"]=="查询数据库升级")
    {
    global $select_table;
    global $update_table;
    $select_table="url_table_back";
    $update_table="url_table";
    }
    if($_GET["up"]=="备用查询数据库升级")
    {
     global $select_table;
    global $update_table;
    $select_table="url_tablet";
    $update_table="url_table_back";
    }
}
?>

[/php]

作者: phpboy   发布时间: 2009-02-23

热门下载

更多