Heb al veel gedaan maar loop tegen een probleem aan bij de volgende functie die ik ooit en keer op het internet gevonden heb. Functie is een rating manager (5 star rating). En ik heb geen idee hoe ik dit moet oplossen. Bestaat uit een stuk PhP en ene stuk AJAX (niet overgezet). Probleem zit in het PhP deel. Onderstaande code werk goed op PhP 5.6. Hulp wordt zeer gewaardeerd.
//mysql extention must be loaded
// Abstact class for rating
abstract class Database {
public $databaseHost = DATABASEHOST;
public $databaseUser = DATABASEUSERNAME;
public $databasePassword = DATABASEPASSWORD;
public $databaseName = DATABASENAME;
public $connection = null; // database connection
protected $recordsSelected = 0;
protected $recordsUpdated = 0;
protected function connect() {
$this->connection = new mysqli($this->databaseHost, $this->databaseUser, $this->databasePassword, $this->databaseName);
if (!$this->connection) {
$this->connection = null;
trigger_error(mysql_error());
}
// mysql_select_db($this->databaseName);
}
protected function querySelect($query) {
if (strlen(trim($query)) < 0 ) {
trigger_error("Database encountered empty query string in querySelect function", E_USER_ERROR);
return false;
}
if ($this->connection === null ) {
$this->connect();
}
$result = $this->query($query, $this->connection) ;
if (!$result) {
return array();
}
$this->recordsSelected = mysql_num_rows($result);
return $this->getData($result);
}
protected function queryExecute($query) {
if (strlen(trim($query)) < 0 ) {
trigger_error("Database encountered empty query string in queryExecute function", E_ERROR);
}
if ($this->connection === null ) {
$this->connect();
}
$res = mysql_query($query, $this->connection);
if($res) {
$this->recordsUpdated = mysql_affected_rows($this->connection);
}
}
protected function getData($result) {
$data = array();
$i = 0;
while ($row = mysql_fetch_assoc($result)) {
foreach ($row as $key => $value) {
$data[$i][$key] = stripslashes($value);
}
$i++;
}
return $data;
}
}