query("SELECT * FROM table"); ^-- change to 1 for debug mode * */ /* */ class ib { /* public: connection parameters */ var $debug; var $database; var $user; var $password; /* private: connection parameters */ var $conn; var $result; //in spanish "Dom","Lun","Mar","Mie","Jue","Vie","Sab" var $dayweek=array("Sun","Mon","Tue","Wed","Thu","Fri","Sat"); /** interbase::interbase() * Constructor this class - define public connection parameters and call the connect method * * @param $database * @param $user * @param $password * @param $debug */ function ib($database,$user,$password,$debug=0) { $this->debug = $debug; //if ($this->debug) echo "\n\nDebug On
\n"; $this->user = $user; $this->password = $password; $this->database = $database; // open connection $this->connect(); } /** * interbase::connect() * Open connection with the server * @return conn id */ function connect () { $this->conn = @ibase_connect($this->database,$this->user,$this->password); if ( ibase_errmsg() ) { $report ="PAGE: $_SERVER[REQUEST_URI] \r\n ERRORMSG: ".ibase_errmsg(); if ($this->debug) { die("$report

Connecting to ".$this->database); } else { $connlogfile="ibconnlog.txt"; //Open the file in append mode and write log $fp = fopen($connlogfile,a); // Write $log to our opened file. $log=$_SERVER["REMOTE_ADDR"]." | ".date ("l dS of F Y h:i:s A")." | ". ibase_errmsg()." \n"; if (!fwrite($fp, $log)) { print "Cannot write to file ($connlogfile)"; exit; } fclose($fp); die("
La connectividad con base de datos ha fallado. Se ha creado un registro del error y se ha enviado al equipo técnico. Por favor inténtelo mas tarde.
"); } } return $this->conn; } function disconnect() { return ibase_close($this->conn); } // ibquery with error reporting to table STABUG function query ($query="") { if (empty($query)) return false; $this->result = @ibase_query($query,$this->conn); if ( ibase_errmsg() ) { $report ="PAGE: $_SERVER[REQUEST_URI] \r\n ERRORMSG: ".ibase_errmsg(); if ($this->debug) { /* Debug: Dies with DB error & query */ die("$report

".$query); } else { /* No debug: Writes a row in STABUG and shows message */ $bugquery = $this->ibvalstring($query); $ibase_errmsg= ibase_errmsg(); $buglog = "INSERT INTO BUGLOG (BUGURI,BUGMSG,BUGQRY,BUGSTA) VALUES ('$_SERVER[REQUEST_URI]','ibase_errormsg: $ibase_errmsg','$bugquery',current_timestamp)"; $result = @ibase_query($buglog) or die ($buglog); die("
La consulta a la base de datos ha fallado. Se ha creado un registro del error y se ha enviado al equipo técnico. Por favor inténtelo mas tarde.
"); } } return $this->result; } function free_result () { return ibase_free_result($this->result); } // Replaces [\r\n] and single quotes for ibase function ibvalstring($query) { $search = array ("'([\r\n])[\s]+'"); $replace = array (""); $query = preg_replace($search, $replace, $query); $query = str_replace("'", "''", $query); return $query; } // DATE functions .STORED IN IB numeric YYYYMMDD function ibtonorm($dt) { // IN: YYYYMMDD OUT: DD/MM/YYYY $yr=strval(substr($dt,0,4 )); $mo=strval(substr($dt,4,2 )); $da=strval(substr($dt,6,2 )); return $da."/".$mo."/".$yr; } function normtoib($dt) { // IN: DD/MM/YYYY OUT: YYYYMMDD $da=strval(substr($dt,0,2 )); $mo=strval(substr($dt,3,2 )); $yr=strval(substr($dt,6,4 )); return "$yr$mo$da"; } function ibtostamp($dt) { // IN: MM/DD/YYYY HH:MM:SS OUT: YYYYMMDDHHMMSS $mo=strval(substr($dt,0,2 )); $da=strval(substr($dt,3,2 )); $yr=strval(substr($dt,6,4 )); $hh=strval(substr($dt,11,2 )); $mm=strval(substr($dt,14,2 )); $ss=strval(substr($dt,17,2 )); return "$yr$mo$da$hh$mm$ss"; } function ibgetday($dt) { // IN:YYYYMMDD OUT: Lun /Mar $wn=date ("w", strtotime($dt) ); return $this->dayweek[$wn]; } } /*
*/ ?>