• <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寫的一個MySQL類

             

            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 閱讀(473) 評論(0)  編輯 收藏 引用 所屬分類: 數據庫開發php

            <2007年5月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿(9)

            隨筆分類(67)

            隨筆檔案(65)

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            精品久久人人妻人人做精品 | 韩国无遮挡三级久久| 久久99热这里只有精品国产| 亚洲精品乱码久久久久久中文字幕| 欧美午夜A∨大片久久 | 国产精品久久久久乳精品爆| 久久精品成人免费观看97| 最新久久免费视频| 99久久99久久| 污污内射久久一区二区欧美日韩| 久久婷婷五月综合色高清| 久久精品不卡| 久久综合给合久久狠狠狠97色69| 国产A级毛片久久久精品毛片| 久久精品一本到99热免费| 久久精品9988| 久久人人爽人人爽人人AV| 久久久久亚洲精品中文字幕| 无码AV中文字幕久久专区| 欧美日韩精品久久久免费观看 | 狠狠色综合网站久久久久久久| 国产69精品久久久久9999APGF | 精品久久久久久国产潘金莲| 午夜福利91久久福利| 国产精品热久久毛片| 久久66热人妻偷产精品9| 久久精品国产亚洲αv忘忧草| 国产亚洲色婷婷久久99精品91| 色综合久久久久久久久五月| 要久久爱在线免费观看| 久久99精品国产麻豆不卡| 久久精品国产亚洲麻豆| 国产精品久久久久影院嫩草| 久久久久亚洲精品无码蜜桃| 久久99这里只有精品国产| 久久亚洲国产成人精品无码区| 天天综合久久久网| 久久精品国产精品国产精品污| 国产欧美一区二区久久| 国产精品久久久久久久久| 亚洲AV无码成人网站久久精品大|