• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            老外用php寫(xiě)的一個(gè)MySQL類(lèi)

             

            Description:

            Extremely easy to 
            use and full-featured MySQL class with measured queries.
             

            Code
            :

            <?
            /*****************************************************************************/
            /*                                                                           */
            /*  mySQL Function Wrapper Class                                             */
            /*                                                                           */
            /*  (C) 2001 Thomas Wolf (two@DONTSPAMMEchello.at)                                     */
            /*                                                                           */
            /*  Wed 21 Nov 17:41:53 2001                                                 */
            /*  Thu 29 Nov 19:20:22 2001 -lu                                             */
            /*                                                                           */
            /*****************************************************************************/

            define("CMySQL_Included","1");

            class CMySQL
            {
                
            // default values
                var $def_host   = "localhost";  // default host name
                var $def_user   = "";   // default user name
                var $def_pass   = "";   // default password
                var $def_dbname = "service";  // default database name

                // class-internal variables

                var $linkid     = 0;   // mysql link id
                var $errstr     = "";   // last mysql error string
                var $lastsql    = "";   // last mysql query
                var $last_result;    // last mysql query result
                var $m_start    = 0;
                
            var $m_diff     = 0;

                
            /* Constructor:
                 *  Set default values and stuff.
                 
            */
                
            function CMySQL()
                {
                    
            $errstr = "no connection";
                }
                
            /* CMySQL->Open:
                 *  Connect to specified mySQL server.
                 
            */
                
            function Open($dbname="",$host="",$user="",$pass="",$pcon=0)
                {
                    
            // use defaults?
                    if (!$dbname$dbname = $this->def_dbname;
                    
            if (!$host  ) $host   = $this->def_host;
                    
            if (!$user  ) $user   = $this->def_user;
                    
            if (!$pass  ) $pass   = $this->def_pass;

                    
            // open persistent or normal connection
                    if ($pcon) {
                        
            $this->linkid = @mysql_pconnect($host,$user,$pass);
                    } 
            else {
                        
            $this->linkid = @mysql_connect ($host,$user,$pass);
                    }
                    
            // connect to mysql server failed?
                    if (!$this->linkid)
                    {
                        
            $this->errstr  = $pcon ? "persistent " : "";
                        
            $this->errstr .= "connect failed ('$user:$pass@$host')";
                        
            return 0// error
                    }
                    
            // select database
                    $result = mysql_select_db($dbname);
                    
            if (!$result)
                    {
                        
            // db select failed
                        @mysql_close($this->linkid);
                        
            $this->errstr = "database not found ('$dbname')";
                        
            return 0// error
                    }
                    
            // return with success
                    return 1;
                }
                
            /* CMySQL->Test:
                 *  Tests a database connection and returns
                 *  1 on success or 0 on error.
                 
            */
                
            function Test($dbname,$host="",$user="",$pass="")
                {
                    
            return $this->Open($dbname,$host,$user,$pass,0);
                }
                
            /* CMySQL->Error:
                 *  Returns the last mySQL error as text.
                 
            */
                
            function Error()
                {
                    
            if (!empty($this->errstr))
                        
            return $this->errstr."<br>\n";

                    
            if (empty($this->linkid))
                    {
                        
            $this->errstr = "no connection";
                        
            $em = $this->errstr;
                    }
                    
            else {
                        
            $en = @mysql_errno($this->linkid);
                        
            $em = @mysql_error($this->linkid);
                        
            if (!$en || !$em)
                        {
                            
            $this->errstr = "no connection";
                            
            $em = $this->errstr;
                            
            if (!$en$en = "0";
                        }
                    }
                    
            return "$em (#$en)<br>\n";
                }
                
            /* CMySQL->Kill:
                 *  Dies script with last mySQL error message.
                 
            */
                
            function Kill()
                {
                    
            die ($this->Error());
                }
                
            /* CMySQL->ErrorNum:
                 *  Returns the last mySQL error as number.
                 
            */
                
            function ErrorNum()
                {
                    
            return @mysql_errno($this->linkid);
                }
                
            /* CMySQL->Close:
                 *  Close current mySQL connection.
                 
            */
                
            function Close()
                {
                    
            return @mysql_close($this->linkid);
                }
                
            /* CMySQL->Query:
                 *  Executes the given SQL query and returns
                 *  the proper results.
                 
            */
                
            function Query($sql="")
                {
                    
            $this->lastsql = $sql;
                    
            $this->last_result = @mysql_query($sql,$this->linkid);
                    
            if (!$this->last_result)
                    {
                        
            $this->errstr = "query failed ('$sql')";
                        
            return 0// error
                    }
                    
            return $this->last_result;
                }
                
            /* CMySQL->QueryM:
                 *  Executes the given SQL query, measures
                 *  it and returns the proper results.
                 
            */
                
            function QueryM($sql="")
                {
                    
            $this->Start();
                    
            $result = $this->Query($sql);
                    
            $this->Stop();
                    
            return $result;
                }
                
            /* CMySQL->Start:
                 *  Starts time measurement.
                 
            */
                
            function Start()
                {
                    
            $parts = explode(" ",microtime());
                    
            $this->m_diff  = 0;
                    
            $this->m_start = $parts[1].substr($parts[0],1);
                }
                
            /* CMySQL->Stop:
                 *  Stops time measurement.
                 
            */
                
            function Stop()
                {
                    
            $parts  = explode(" ",microtime());
                    
            $m_stop = $parts[1].substr($parts[0],1);
                    
            $this->m_diff  = ($m_stop - $this->m_start);
                    
            $this->m_start = 0;
                }
                
            /* CMySQL->Duration:
                 *  Returns last measured duration (time
                 *  between Start() and Stop()).
                 
            */
                
            function Duration($decimals=4)
                {
                    
            return number_format($this->m_diff,$decimals);
                }
                
            /* CMySQL->Rows:
                 *  Returns the last query's number of rows.
                 
            */
                
            function Rows()
                {
                    
            if (!$this->last_result) return 0;
                    
            return @mysql_num_rows($this->last_result);
                }
                
            /* CMySQL->Fix:
                 *  Returns string suitable for mySQL queries.
                 
            */
                
            function Fix($str)
                {
                    
            return @addslashes($str);
                }
                
            /* CMySQL->Unfix:
                 *  Returns mySQL string as normal string.
                 
            */
                
            function Unfix($str)
                {
                    
            return @stripslashes($str);
                }
                
            /* CMySQL->Row:
                 *  Reads the current row and returns contents
                 *  as an PHP object or returns 0 on error.
                 
            */
                
            function Row()
                {
                    
            if ($this->last_result) {
                        
            $row = mysql_fetch_object($this->last_result);
                    } 
            else {
                        
            $row = 0;
                    }
                    
            return $row;
                }
                
            /* CMySQL->RowA:
                 *  Reads the current row and returns contents
                 *  as an array or returns 0 on error.
                 
            */
                
            function RowA()
                {
                    
            if ($this->last_result) {
                        
            $row = mysql_fetch_array($this->last_result);
                    } 
            else {
                        
            $row = 0;
                    }
                    
            return $row;
                }
                
            /* CMySQL->Seek:
                 *  Sets the internal database pointer to the
                 * specified row number and returns the result.
                 
            */
                
            function Seek($rownum)
                {
                    
            return mysql_data_seek($this->last_result,$rownum);
                }
                
            /* CMySQL->Free:
                 *  Frees memory used by the query results and
                 *  returns the function result.
                 
            */
                
            function Free()
                {
                    
            return @mysql_free_result($this->last_result);
                }
            }
            /*****************************************************************************/
            ?>

             

             

            posted on 2007-04-03 18:43 PeakGao 閱讀(482) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 數(shù)據(jù)庫(kù)開(kāi)發(fā)php

            <2007年4月>
            25262728293031
            1234567
            891011121314
            15161718192021
            22232425262728
            293012345

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(9)

            隨筆分類(lèi)(67)

            隨筆檔案(65)

            搜索

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            国产三级精品久久| 国产精品福利一区二区久久| 国产成人久久精品麻豆一区| 精品熟女少妇a∨免费久久| 日产精品久久久一区二区| 久久水蜜桃亚洲av无码精品麻豆 | 久久无码一区二区三区少妇| 久久av免费天堂小草播放| 777午夜精品久久av蜜臀| 亚洲精品无码久久一线| 久久91精品久久91综合| 亚洲七七久久精品中文国产| 色8久久人人97超碰香蕉987| 99久久无码一区人妻| 欧美久久久久久| 97精品国产97久久久久久免费| 久久久WWW成人免费精品| 久久婷婷五月综合国产尤物app | 91麻豆精品国产91久久久久久 | 日韩乱码人妻无码中文字幕久久 | 精品多毛少妇人妻AV免费久久| 欧美成人免费观看久久| 国产成人久久久精品二区三区| 国产欧美久久久精品影院| 久久精品国产只有精品2020| 久久精品一区二区三区AV| 国产精自产拍久久久久久蜜| 久久人人爽人人爽人人片av高请| 久久午夜无码鲁丝片午夜精品| 久久精品aⅴ无码中文字字幕不卡| 国产高潮国产高潮久久久91 | 久久九九兔免费精品6| 精品国产青草久久久久福利| 久久综合给合久久狠狠狠97色 | 亚洲国产精品一区二区久久hs| 久久精品视屏| 久久www免费人成精品香蕉| 青青草国产精品久久久久| 久久精品国产亚洲AV高清热| 日韩精品久久久久久久电影蜜臀| 久久午夜无码鲁丝片秋霞|