first commit
This commit is contained in:
@@ -0,0 +1,188 @@
|
||||
<?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=$db->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=mysqli_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 $this->query->numRows();
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the ID of the last row inserted
|
||||
* @return int
|
||||
* @access public
|
||||
*/
|
||||
function insertID () {
|
||||
return mysqli_insert_id($this->mysql->dbConn);
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks for MySQL errors
|
||||
* @return boolean
|
||||
* @access public
|
||||
*/
|
||||
function isError () {
|
||||
return $this->mysql->isError();
|
||||
}
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user