Moin
Ich habe hier ne Mysql Class, leider kenne ich mich damit nicht so gut aus. Gibt es daran noch etwas zu verbessern?
Ich habe hier ne Mysql Class, leider kenne ich mich damit nicht so gut aus. Gibt es daran noch etwas zu verbessern?
PHP-Code:
class db_sql {
var $host = " ";
var $database = " ";
var $user = " ";
var $password = " ";
var $link_id = 0;
var $query_id = 0;
var $record = array();
var $row;
var $errno = 0;
var $error = "";
function halt($msg) {
printf("</td></tr></table><b>Datenbank-Fehler : </b> %s<br>\n", $msg);
printf("<b>MySQL Fehler</b>: %s (%s)<br>\n", $this->errno, $this->error);
printf("<b>Skript</b>: ".getenv("REQUEST_URI")."<br>\n");
printf("<b>Referer</b>: ".getenv("HTTP_REFERER")."<br>\n");
die("session halted.");
}
function connect() {
if ( 0 == $this->link_id ) {
$this->link_id=mysql_connect($this->host, $this->user, $this->password);
if (!$this->link_id) {
$this->halt("Keine Verbindung möglich (link-id == false)");
}
if (!mysql_query(sprintf("use %s",$this->database),$this->link_id)) {
$this->halt("Datenbank kann nicht benutzt werden ".$this->database);
}
}
}
function query($query_string) {
$this->connect();
$this->query_id = mysql_query($query_string,$this->link_id);
$this->row = 0;
$this->errno = mysql_errno();
$this->error = mysql_error();
if (!$this->query_id) {
$this->halt("Ungültiger SQL-Befehl : ".$query_string);
}
return $this->query_id;
}
function next_record() {
$this->record = mysql_fetch_array($this->query_id);
$this->row += 1;
$this->errno = mysql_errno();
$this->error = mysql_error();
$stat = is_array($this->record);
if (!$stat) {
mysql_free_result($this->query_id);
$this->query_id = 0;
}
return $stat;
}
function result() {
return mysql_result($this->query_id,0,0);
}
function num_rows() {
return mysql_num_rows($this->query_id);
}
function optimize() {
$tabelQuery = 'SHOW TABLE STATUS';
$result = mysql_query($tabelQuery) or die(mysql_error());
if (mysql_num_rows($result)) {
while ($row = mysql_fetch_array($result)) {
$optQuery = 'OPTIMIZE TABLE '.$row[0] or die(mysql_error);
$optResult = mysql_query($optQuery)or die(mysql_error());
}
}
}
function close() {
mysql_close($this->link_id);
}
}
Kommentar