mysql
# 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("
Unable to continue.
");
}
$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 ("
Unable to continue.
"); Error: $msg :";
}
}
# 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(" echo("\n");
# Display the error message
$text = "
$text .= mysql_error();
$text .= "
$errormsg=$text;
# get rid of Unable to fetch error messages
if (strpos($errormsg,"Unable to fetch")==false)
print "$errormsg\n";
}
?>