Hallo ich arbeite im Moment mit folgender Datenbankklasse:
Wie muss ich die Klasse umarbeiten, damit das Resultat einem Objekt zugewießen wird?
Beispiel:
Mfg, und danke für die Hile, berti
PHP:
<?php
/**
* @author Adalbert Rohr <info@bero-web.de>
* @copyright 2007 BeRo-Web Media AG
* @package bwLibrary
* @version Version 1.0, 2007-08-26
* @since Class available since Release 1.0
*/
class BW_DB
{
/**
* MySQL-Verbindung
*
* @access protected
* @var boolean
*/
protected $connection;
/**
* MySQL-Query
*
* @access protected
* @var string
*/
protected $query;
/**
* MySQL-Ergebnis
*
* @access public
* @var string
*/
protected $result;
/**
* Verbindung zum Server herstellen
*
* @access public
* @author Adalbert Rohr <info@bero-web.de>
* @param string $mysql_host
* @param string $mysql_user
* @param string $mysql_pass
* @param string $mysql_data
* @version Version 1.0, 2007-08-26
* @return string
*/
public function connect($mysql_host, $mysql_user, $mysql_pass, $mysql_data)
{
@$this->connection = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
if ($this->connection) {
$this->select_db($mysql_data);
} else {
return false;
}
}
/**
* Datenbank auswählen
*
* @access protected
* @author Adalbert Rohr <info@bero-web.de>
* @param string $mysql_data
* @version Version 1.0, 2007-08-26
* @return boolean
*/
protected function select_db($mysql_data)
{
if (@!mysql_select_db($mysql_data, $this->connection)) {
return false;
}
}
/**
* MySQL-Query erzeugen
*
* @access public
* @author Adalbert Rohr <info@bero-web.de>
* @param string $string
* @version Version 1.0, 2007-08-26
* @return string $result
*/
public function execute($string, $get = '')
{
if (@!$this->query = mysql_query($string, $this->connection)) {
return false;
} else {
if ($get == 1) {
return $this->query;
}
}
}
/**
* Anzahl der abgerufenen Datensätze zählen
*
* @access public
* @author Adalbert Rohr <info@bero-web.de>
* @version Version 1.0, 2007-08-26
* @return integer $result
*/
public function get_num_rows($query = '')
{
if ($query == 0) {
if (@$this->result = mysql_num_rows($this->query)) {
return $this->result;
}
} else {
if (@$this->result = mysql_num_rows($query)) {
return $this->result;
}
}
}
/**
* Datensätze in ein Array schreiben
*
* @access public
* @author Adalbert Rohr <info@bero-web.de>
* @version Version 1.0, 2007-08-26
* @return array $result
*/
public function get_fetch_assoc($query = '')
{
if ($query == 0) {
if (@$this->result = mysql_fetch_assoc($this->query)) {
return $this->result;
}
} else {
if (@$this->result = mysql_fetch_assoc($query)) {
return $this->result;
}
}
}
}
?>
Wie muss ich die Klasse umarbeiten, damit das Resultat einem Objekt zugewießen wird?
Beispiel:
PHP:
<?php
// So sieht eine Abfrage im Moment aus
$sql = "SELECT * FROM tabelle";
$res = $db->execute($sql);
if ($db->get_num_rows($res) > 0) {
// ..
}
// und so soll sie aussehen
$sql = "SELECT * FROM tabelle";
$res = $db->execute($sql);
if ($res->get_num_rows() > 0) {
// ..
}
?>
Mfg, und danke für die Hile, berti