blank.gif
triangle.gif Du er her: /  Forsiden  /  Kildekoden  /  Db  /  Connection   Login nu   Login
blank.gif
 ««« Se kilde koden
blank.gif
triangle.gif Basic Base Component Db  Dto Form Form-elements Jquery Layout Menu Menu-fisheye Mvc Tab Table Template Util
blank.gif
blank.gif
 
arrow-headline.gif Index
 
  Tilbage

Navn : Connection.php


Sample code, tutorial

Sådan benyttes komponenten Connection klassen

Først skal du inkludere den fil der beskriver komponenten, som en klasse fil

  • <?
    require_once(HTML_PACKAGE_PATH.'/Connection.php');
    ?>

Dernæst kan du enten benytte komponenten som et taglib (statiske metoder):

  • <?
    Connection
    ::display($param1, $param2, $param3, ...);
    ?>

eller du kan lave en instance af komponenten og benytte metoderne direkte:

  • <?
    $object
    = new Connection($param1, $param2, $param3, ...);
    print
    $object->getHtml();
    ?>

Parent html

Sådan vises komponenten Connection klassen

Der er ikke fundet noget

PHP source code

Den fulde PHP kildekode for Connection klassen

<?

/**
* @package db
* @see HTML_DB_DATABASE_PATH.'/Connection.php'
* @copyright (c) http://Finn-Rasmussen.com
* @license http://Finn-Rasmussen.com/license/ myPHP License conditions
* @author http://Finn-Rasmussen.com
* @version 1.10
* @since 22-feb-2007
*/

/**
* The required files
*/
require_once(HTML_BASIC_UTIL_PATH.'/Message.php');
if (
defined('HTML_LOG_UTIL_PATH')) {
    require_once (
HTML_LOG_UTIL_PATH.'/Log.php');
}

/**
* The connection interface towards the mysql database
* <code>
* Usage:
*   $connection = new Connection($hostname,$username,$password,$database,$persistent);
*   $connection->open();  // Conect to the host and select the database to use
*           :             // Use the connection to operate on table data
*          :              // Free the resources
*   $connection->close(); // Remember to release the connection
*
* NOTE: The username/password are defined in an external file
* </code>
* @package db
* @todo Register function, when closing page
*/

class Connection {
    var
$hostname   = '';
    var
$username   = '';
    var
$password   = '';
    var
$database   = '';
    var
$persistent = '';
    var
$portname   = '';

    var
$connection = NULL;  // The database connection
    
var $message    = '';    // Debug/Error/info messages
    
var $anyerrors  = false; // Flag, to indicate errors have occured

    /**
     * Constructor
     * @param String  $hostname   The server name to connect to
     * @param String  $username   The username
     * @param String  $password   The password (secret, don't look)
     * @param String  $database   The database to use
     * @param boolean $persistent Use persistent connection (true) or not (false)
     * @param String  $portname   The server port name to connect to
     */
    
function Connection($hostname='',$username='',$password='',$database='',$persistent='',$portname='') {
        
$this->hostname   = $hostname;
        
$this->username   = $username;
        
$this->password   = $password;
        
$this->database   = $database;
        
$this->persistent = $persistent != '' ? $persistent : false;
        
$this->portname   = $portname;
    }

    
/**
     * Set the host name for the server to connect to
     * @param String $hostname The server name to connect to
     */
    
function setHostname($hostname) {
        
$this->hostname = $hostname;
    }

    
/**
     * Set the username
     * @param String $username The username
     */
    
function setUsername($username) {
        
$this->username = $username;
    }

    
/**
     * Set the password
     * @param String $password The password (secret, don't look)
     */
    
function setPassword($password) {
        
$this->password = $password;
    }

    
/**
     * Set the name of the database to use
     * @param String $database The database to use
     */
    
function setDatabase($database) {
        
$this->database = $database;
    }

    
/**
     * Set the flag, if the connection use persistent connection (true)
     * @param boolean $persistent Use persistent connection (true) or not (false)
     */
    
function setPersistent($persistent) {
        
$this->persistent = $persistent;
    }

    
/**
     * Set the host port name for the server to connect to
     * @param String $portname The server port name to connect to
     */
    
function setPortname($portname) {
        
$this->portname = $portname;
    }

    
/**
     * Connect to the host, and select the database to use
     * @return boolean Returns TRUE on success or FALSE if failure
     */
    
function open() {
        
$rc = false;
        
$func = 'mysql_'. ($this->persistent ? 'p' : '').'connect';
        
$this->connection = $func($this->host, $this->username, $this->password);
        if (!
$this->connection) {
            
$msg = 'Connection->open() '.$this->getError();
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::fatal(__FILE__, __LINE__, $msg);
            }
            if (
defined('DEBUG_LEVEL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) {
                
Message::add($msg,__FILE__,__LINE__);
            }
        } else {
            if (!
mysql_select_db($this->database, $this->connection)) {
                
$msg = 'Connection->open() '.$this->getError();
                if (
defined('HTML_LOG_UTIL_PATH')) {
                    
Log::fatal(__FILE__, __LINE__, $msg);
                }
                if (
defined('DEBUG_LEVEL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) {
                    
Message::add($msg,__FILE__,__LINE__);
                }
            } else {
                
$rc = true;
            }
        }
        return
$rc;
    }

    
/**
     * Get the connection to the database
     * @return resource The connection to the database or NULL
     */
    
function getConnection() {
        if (
$this->connection==NULL) {
            
$this->open();
            
$msg = 'Connection->getConnection() $this->connection was NULL';
            
$this->setMessage($msg);
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::debug(__FILE__, __LINE__, $msg);
            }
            if (
defined('DEBUG_LEVEL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) {
                
Message::add($msg,__FILE__,__LINE__);
            }
        } else {
        }
        return
$this->connection;
    }

    
/**
     * Get the name of the database
     * @return String The name of the database, specified in the constructor
     */
    
function getDatabase() {
        return
$this->database;
    }

    
/**
     * Close the connection to the database
     * @return boolean Returns TRUE on success or FALSE on failure
     */
    
function close() {
        
$rc = false;
        if (
$this->connection!=NULL) {
            
$rc = mysql_close($this->connection);
            
$this->connection = NULL;
        } else {
            
$msg = 'Connection->close() $this->connection is NULL';
            
$this->setMessage($msg);
            if (
defined('HTML_LOG_UTIL_PATH')) {
                
Log::debug(__FILE__, __LINE__, $msg);
            }
            if (
defined('DEBUG_LEVEL') && DEBUG_LEVEL & DEBUG_LEVEL_SHOW_SQL) {
                
Message::add($msg,__FILE__,__LINE__);
            }
        }
        return
$rc;
    }

    
/**
     * Get the error message
     * @return String The resulting error message from the last mysql call
     */
    
function getError() {
        
$error = mysql_error();
        if (
$error != '') {
            
$this->anyerrors = true; // Dump error info later
        
}
        
$this->setMessage($error);
        return
$error;
    }

    
/**
     * Get all message
     * @return String All messages from this scenario
     */
    
function getMessage() {
        return
$this->message;
    }

    
/**
     * Set next message in this scenario
     * @param String $message The message to store
     */
    
function setMessage($message) {
        
$this->message .= "<br />\r\n".$message;
    }
}
?>

HTML source code

Den fulde HTML kildekode for Connection klassen

Der er ikke fundet noget

Class methods

Her er 'klasse metoderne' for Connection klassen:

  • connection
  • sethostname
  • setusername
  • setpassword
  • setdatabase
  • setpersistent
  • setportname
  • open
  • getconnection
  • getdatabase
  • close
  • geterror
  • getmessage
  • setmessage

Object vars

Her er 'objekt variable' for Connection klassen:

  • hostname =>
  • username =>
  • password =>
  • database =>
  • persistent =>
  • portname =>
  • connection =>
  • message =>
  • anyerrors =>

 
triangle.gif

danmark

Germany

England

France

Italy

Norge

Sverige

USA


 
blank.gif