# 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";
}
?>











