This is the mysql include file:
<?php
$db = New DB_MySQL;
// DB Details:
$db->database = 'pg_content';
$db->user = 'xxxx';
$db->password = 'xxxx';
$db->server = 'localhost';
// Connect to db
$db->connect();
//////////////////////////////////////////////////////////////////////
function ss($str) {
return mysql_escape_string($str);
}
// Mysql Database Class
class DB_MySQL {
var $database = "";
var $link_id = 0;
var $query_id = 0;
var $record = array();
var $server = "";
var $user = "";
var $password = "";
function connect() {
global $usepconnect;
// connect to db server
if ( 0 == $this->link_id ) {
if ($this->password=="") {
if ($usepconnect==1) {
$this->link_id=mysql_pconnect($this->server,$this->user);
} else {
$this->link_id=mysql_connect($this->server,$this->user);
}
} else {
if ($usepconnect==1) {
$this->link_id=mysql_pconnect($this->server,$this->user,$this->password);
} else {
$this->link_id=mysql_connect($this->server,$this->user,$this->password);
}
}
if (!$this->link_id) {
$this->halt("Link-ID == false, connect failed");
}
if ($this->database!="") {
if(!mysql_select_db($this->database, $this->link_id)) {
$this->halt("cannot use database ".$this->database);
}
}
}
}
function geterrdesc() {
$this->error=mysql_error();
return $this->error;
}
function geterrno() {
$this->errno=mysql_errno();
return $this->errno;
}
function select_db($database="") {
// select database
if ($database!="") {
$this->database=$database;
}
if(!mysql_select_db($this->database, $this->link_id)) {
$this->halt("cannot use database ".$this->database);
}
}
function query($query_string) {
global $query_count,$showqueries,$explain,$querytime;
// do query
if ($showqueries) {
echo "Query: $query_string\n";
global $pagestarttime;
$pageendtime=microtime();
$starttime=explode(" ",$pagestarttime);
$endtime=explode(" ",$pageendtime);
$beforetime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
echo "Time before: $beforetime\n";
}
$this->query_id = mysql_query($query_string,$this->link_id);
if (!$this->query_id) {
$this->halt("Invalid SQL: ".$query_string);
}
$query_count++;
if ($showqueries) {
$pageendtime=microtime();
$starttime=explode(" ",$pagestarttime);
$endtime=explode(" ",$pageendtime);
$aftertime=$endtime[0]-$starttime[0]+$endtime[1]-$starttime[1];
$querytime+=$aftertime-$beforetime;
echo "Time after: $aftertime\n";
if ($explain and substr(trim(strtoupper($query_string)),0,6)=="SELECT") {
$explain_id = mysql_query("EXPLAIN $query_string",$this->link_id);
echo "</pre>\n";
echo "
<table width=100% border=1 cellpadding=2 cellspacing=1>
<tr>
<td><b>table</b></td>
<td><b>type</b></td>
<td><b>possible_keys</b></td>
<td><b>key</b></td>
<td><b>key_len</b></td>
<td><b>ref</b></td>
<td><b>rows</b></td>
<td><b>Extra</b></td>
</tr>\n";
while($array=mysql_fetch_array($explain_id)) {
echo "
<tr>
<td>$array[table] </td>
<td>$array[type] </td>
<td>$array[possible_keys] </td>
<td>$array[key] </td>
<td>$array[key_len] </td>
<td>$array[ref] </td>
<td>$array[rows] </td>
<td>$array[Extra] </td>
</tr>\n";
}
echo "</table>\n<BR><hr>\n";
echo "\n<pre>";
} else {
echo "\n<hr>\n\n";
}
}
return $this->query_id;
}
function fetch_array($query_id=-1,$query_string="") {
// retrieve row
if ($query_id!=-1) {
$this->query_id=$query_id;
}
if ( isset($this->query_id) ) {
$this->record = mysql_fetch_array($this->query_id);
} else {
if ( !empty($query_string) ) {
$this->halt("Invalid query id (".$this->query_id.") on this query: $query_string");
} else {
$this->halt("Invalid query id ".$this->query_id." specified");
}
}
return $this->record;
}
function free_result($query_id=-1) {
// retrieve row
if ($query_id!=-1) {
$this->query_id=$query_id;
}
return @mysql_free_result($this->query_id);
}
function query_first($query_string) {
// does a query and returns first row
$query_id = $this->query($query_string);
$returnarray=$this->fetch_array($query_id, $query_string);
$this->free_result($query_id);
return $returnarray;
}
function data_seek($pos,$query_id=-1) {
// goes to row $pos
if ($query_id!=-1) {
$this->query_id=$query_id;
}
return mysql_data_seek($this->query_id, $pos);
}
function num_rows($query_id=-1) {
// returns number of rows in query
if ($query_id!=-1) {
$this->query_id=$query_id;
}
return mysql_num_rows($this->query_id);
}
function num_fields($query_id=-1) {
// returns number of fields in query
if ($query_id!=-1) {
$this->query_id=$query_id;
}
return mysql_num_fields($this->query_id);
}
function sql_query($query) {
$result = $this->query($query);
$return_array = array();
while ($row = $this->fetch_array($result)) {
array_push($return_array, $row);
}
$this->free_result($result);
return $return_array;
}
function halt($msg) { die($msg); }
function insert_id() { return mysql_insert_id($this->link_id); }
function close() { return mysql_close(); }
}
?>
I'm including the file with the standard "include ('inc/mysql.php');" within a file 'review.php' which needs to call the data from the database to display a review based on the id sent to the database. The function is within review.php not mysql.php
The code I'm using within the function is:
<?
function showreview($rid, $start) {
$result = $db->query("SELECT *, DATE_FORMAT(submitted,'%D %b %Y %H:%i') AS submitted2 FROM reviews WHERE id = '$rid'");
if ($myrow = @mysql_fetch_array($result)) { do {
printf("<b class=\"title\">%s<b /> Posted: %s<br />\n", $myrow["title"], $myrow["submitted2"]);
printf("%s", nl2br($myrow["review"]));
} while ($myrow = @mysql_fetch_array($result)); }
} ?>