Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * MySQL Database Connection Class
- * @access public
- * @package SPLIB
- */
- class MySQL
- {
- /**
- * MySQL server hostname
- * @access private
- * @var string
- */
- var $host;
- /**
- * MySQL username
- * @access private
- * @var string
- */
- var $dbUser;
- /**
- * MySQL user's password
- * @access private
- * @var string
- */
- var $dbPass;
- /**
- * Name of database to use
- * @access private
- * @var string
- */
- var $dbName;
- /**
- * MySQL Resource link identifier stored here
- * @access private
- * @var string
- */
- var $dbConn;
- /**
- * Stores error messages for connection errors
- * @access private
- * @var string
- */
- var $connectError;
- /**
- * MySQL constructor
- * @param string host (MySQL server hostname)
- * @param string dbUser (MySQL User Name)
- * @param string dbPass (MySQL User Password)
- * @param string dbName (Database to select)
- * @access public
- */
- function MySQL ($host,$dbUser,$dbPass,$dbName)
- {
- $this->host=$host;
- $this->dbUser=$dbUser;
- $this->dbPass=$dbPass;
- $this->dbName=$dbName;
- $this->connectToDb();
- }
- /**
- * Establishes connection to MySQL and selects a database
- * @return void
- * @access private
- */
- function connectToDb ()
- {
- // Make connection to MySQL server
- if (!$this->dbConn = @mysql_connect($this->host,$this->dbUser,$this->dbPass))
- {
- trigger_error('Could not connect to server');
- $this->connectError=true;
- // Select database
- }
- else if ( !@mysql_select_db($this->dbName,$this->dbConn) )
- {
- trigger_error('Could not select database');
- $this->connectError=true;
- }
- }
- /**
- * Checks for MySQL errors
- * @return boolean
- * @access public
- */
- function isError ()
- {
- if ( $this->connectError )
- return true;
- $error=mysql_error ($this->dbConn);
- if ( empty ($error) )
- return false;
- else
- return true;
- }
- /**
- * Returns an instance of MySQLResult to fetch rows with
- * @param $sql string the database query to run
- * @return MySQLResult
- * @access public
- */
- function query($sql)
- {
- if (!$queryResource=mysql_query($sql,$this->dbConn))
- trigger_error ('Query failed: '.mysql_error($this->dbConn).
- ' SQL: '.$sql);
- return new MySQLResult($this,$queryResource);
- }
- }
- /**
- * MySQLResult Data Fetching Class
- * @access public
- * @package SPLIB
- */
- class MySQLResult
- {
- /**
- * Instance of MySQL providing database connection
- * @access private
- * @var MySQL
- */
- var $mysql;
- /**
- * Query resource
- * @access private
- * @var resource
- */
- var $query;
- /**
- * MySQLResult constructor
- * @param object mysql (instance of MySQL class)
- * @param resource query (MySQL query resource)
- * @access public
- */
- function MySQLResult(& $mysql,$query)
- {
- $this->mysql=& $mysql;
- $this->query=$query;
- }
- /**
- * Fetches a row from the result
- * @return array
- * @access public
- */
- function fetch ()
- {
- if ( $row=mysql_fetch_array($this->query,MYSQL_ASSOC) )
- {
- return $row;
- }
- else if ( $this->size() > 0 )
- {
- mysql_data_seek($this->query,0);
- return false;
- }
- else
- {
- return false;
- }
- }
- /**
- * Returns the number of rows selected
- * @return int
- * @access public
- */
- function size ()
- {
- return mysql_num_rows($this->query);
- }
- /**
- * Returns the ID of the last row inserted
- * @return int
- * @access public
- */
- function insertID ()
- {
- return mysql_insert_id($this->mysql->dbConn);
- }
- /**
- * Checks for MySQL errors
- * @return boolean
- * @access public
- */
- function isError ()
- {
- return $this->mysql->isError();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment