Folgender Code (unnötiges,10opro funktionsfähigs mal derÜbersicht halber entfernt):
möchste als die Exception abfangen und dann via sql_error(); ausgeben lassen. ginge zwar direkt in der methode init(), möcht ich aber nicht, da unschön
Entweder leide ich an schlafmangel oder habe eine sonstige blockade, wie realisiere ich das nun?
PHP:
/* connect to db */
error_reporting(7);
final class db {
// connect to mysql and select db
function init() {
$this->link_id = @mysql_connect($this->_HOST,$this->_USER,$this->_PASS);
// if (!$this->link_id) $this->sql_error("LINK ID == FALSE");
if (!$this->link_id) throw new Exception("LINK ID == FALSE");
if ($this->_DB != '') @mysql_select_db($this->_DB);
}
// eval sql error
function sql_error($errormsg) {
$this->errdesc = mysql_error();
$this->errno = mysql_errno();
$errormsg = "<b>Database error:</b> $errormsg\n<br />";
$errormsg .= "<b>mysql error:</b> $this->errdesc\n<br />";
$errormsg .= "<b>mysql error number:</b> $this->errno\n<br />";
$errormsg .= "<b>php version:</b> ".phpversion()."\n<br />";
$errormsg .= "<b>Date:</b> ".date("d.m.Y @ H:i")."\n<br />";
$errormsg .= "<b>Script:</b> ".getenv("REQUEST_URI")."\n<br />";
$errormsg .= "<b>Referer:</b> ".getenv("HTTP_REFERER")."\n<br />";
$errormsg .= "<b>Contact:</b> <a href=\"mailto:".$this->email."?subject=SQL-DATABASE ERROR\">".$this->email."</a>\n<br /><br />";
if ($this->show_error) $errormsg = "$errormsg";
else $errormsg = "\n<!-- $errormsg -->\n";
die("</table><font face=\"Verdana\" size=\"2\"><b>SQL-DATABASE ERROR</b><br /><br />".$errormsg."</font>");
}
}
try {
$db = new db;
$db->init();
} catch (Exception $e) {
$e->getMessage();
}
möchste als die Exception abfangen und dann via sql_error(); ausgeben lassen. ginge zwar direkt in der methode init(), möcht ich aber nicht, da unschön
Entweder leide ich an schlafmangel oder habe eine sonstige blockade, wie realisiere ich das nun?
Zuletzt bearbeitet: