php操作mysql的类

发表于:2007-06-21来源:作者:点击数: 标签:
? # All text and code within this file are (c)opyright # Pangolin Software Limited 2000. # # You may edit this file to customise it for your web-site, # however, the actual source code may not be altered in # any way without the prior writ

   


<?
# All text and code within this file are (c)opyright
# Pangolin Software Limited 2000.
#
# You may edit this file to customise it for your web-site,

# however, the actual source code may not be altered in
# any way without the prior written permission of Pangolin
# Software Limited.
# This file is part of the Pangolin Vote distribution.
# Contact: pangolin@pango.co.uk or www.pango.co.uk for more info.
/*
* Utility routines for MySQL.
* Modified from code from: http://www.webwizard.com/tutorials/mysql/
*/
class MySQL_class {
    # Make sure you fill in the values below for your web-site.
    # They are for user,password,host and database respectively.
    #
    var $user = "USERNAME";
    var $pass = "PASSWORD";
    var $thedatabase ="DATABASE";
    var $host = "localhost";

    var $db, $id, $result, $rows, $data, $a_rows;
    /*
     * It's a minor security hole to have the username and password
     * appear here.  Generally there isn't any way of getting around it
     * if you're using a commercial web hosting service.  There are other
     * ways if it's your own web server.
     */
    function Setup ($user, $pass) {
        $this->user = $user;
        $this->pass = $pass;
    }
    function Create () {
        $db=$this->thedatabase;
        $this->db = $db;
        $crash=0;
        $this->id = @mysql_pconnect($this->host, $this->user, $this->pass) or
        $crash=1;
        if ($crash==1) {
            MySQL_ErrorMsg("Unable to connect to MySQL server: $this->host - Either your username, password or database values are incorrect in vutil.php3 or you have not started MYSQL on your web server!");
            die("<p>Unable to continue.<p>");
            }
        $this->selectdb($db);
    }
    function SelectDB ($db) {
        $crash=0;
        @mysql_select_db($db, $this->id) or $crash=1;
        if ($crash==1)
        {
        MySQL_ErrorMsg ("Unable to select database: $db : The value in vutil.php3 may be incorrect.");
        die ("<p>Unable to continue.<p>");
        }
    }
    # Use this function is the query will return multiple rows.  Use the Fetch
    # routine to loop through those rows.
    function Query ($query) {
        $this->result = @mysql_query($query, $this->id) or
            MySQL_ErrorMsg ("Unable to perform query: $query");
        $this->rows = @mysql_num_rows($this->result);
        $this->a_rows = @mysql_affected_rows($this->result);
    }
    # Use this function if the query will only return a
    # single data element.
    function QueryItem ($query) {
        $this->result = @mysql_query($query, $this->id) or
            MySQL_ErrorMsg ("Unable to perform query: $query");
        $this->rows = @mysql_num_rows($this->result);
        $this->a_rows = @mysql_affected_rows($this->result);
        $this->data = @mysql_fetch_array($this->result) or MySQL_ErrorMsg ("Unable to fetch.");
        return($this->data[0]);
    }
    # This function is useful if the query will only return a
    # single row.
    function QueryRow ($query) {
        $this->result = @mysql_query($query, $this->id) or
            MySQL_ErrorMsg ("Unable to perform query: $query");
        $this->rows = @mysql_num_rows($this->result);
        $this->a_rows = @mysql_affected_rows($this->result);
        $this->data = @mysql_fetch_array($this->result) or MySQL_ErrorMsg ("Unable to fetch.");
        return($this->data);
    }
    function Fetch ($row) {
        @mysql_data_seek($this->result, $row) or MySQL_ErrorMsg ("Unable to seek data.");
        $this->data = @mysql_fetch_array($this->result) or MySQL_ErrorMsg ("Unable to fetch.");
    }
    function Insert ($query) {
        $this->result = @mysql_query($query, $this->id) or
            MySQL_ErrorMsg ("Unable to perform insert: $query");
        $this->a_rows = @mysql_affected_rows($this->result);
    }
    function Update ($query) {
        $this->result = @mysql_query($query, $this->id) or
            MySQL_ErrorMsg ("Unable to perform update: $query");
        $this->a_rows = @mysql_affected_rows($this->result);
    }
    function Delete ($query) {
        $this->result = @mysql_query($query, $this->id) or
            MySQL_ErrorMsg ("Unable to perform Delete: $query");
        $this->a_rows = @mysql_affected_rows($this->result);
    }
}
/* ********************************************************************
* MySQL_ErrorMsg
*
* Print out an MySQL error message
*
*/
function MySQL_ErrorMsg ($msg) {
    # Close out a bunch of HTML constructs which might prevent
    # the HTML page from displaying the error text.
    echo("</ul></dl></ol<\n");
    echo("</table></script>\n");
    # Display the error message
    $text  = "<font color=\"#ff0000\"><p><b>Error: $msg :";
    $text .= mysql_error();
    $text .= "</b></font>\n";
    $errormsg=$text;
    # get rid of Unable to fetch error messages
    if (strpos($errormsg,"Unable to fetch")==false)
    print "$errormsg\n";
}
?>

原文转自:http://www.ltesting.net