--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/fhiiqm/inc/dbconnect.inc.php Wed Aug 31 14:22:19 2011 +0200
@@ -0,0 +1,195 @@
+<?php
+//include_once("configy.inc.php");
+/**
+ * dbconnection
+ *
+ * @package fhiiqm
+ * @author IQM achilleus
+ * @copyright Bettina Schwarzer
+ * @version 05/2011
+ * @access public
+ */
+class dbconnection
+ { protected $_server;
+ protected $_user;
+ protected $_passwort;
+ protected $_dbname;
+ var $_dbtyp;
+
+ protected $_connid;
+ protected $_statement;
+ var $error;
+ var $_lastmessage;
+
+ public $result;
+
+ function __construct()
+ {
+ include_once("conf.inc.php");
+// global $config;
+
+ $this->_server = ( isset($server) && $server ) ? $server : $config["server"];
+ $this->_user = ( isset($user) && $user ) ? $user : $config["user"];
+ $this->_passwort = ( isset($passwort) && $passwort ) ? $passwort : $config["passwort"];
+ $this->_dbname = ( isset($dbname) && $dbname ) ? $dbname : $config["dbname"];
+
+ $this->_connid = false;
+ $this->error = "";
+ $this->_lastmessage = "";
+// $this -> _connid = @new mysqli($this->_server, $this->_user, $this->_passwort, $this->_dbname);
+ $this->_connid = mysqli_init();
+ $this->_connid->real_connect($this->_server, $this->_user, $this->_passwort, $this->_dbname);
+// $this->_connid->set_charset("utf8");
+// echo $this-> _connid->character_set_name()."<br>\n";
+// $this -> _connid -> set_charset('latin1'); //latin1_swedish_ci, ist Standard
+// echo $this-> _connid->character_set_name()."<br>\n";
+
+ if (mysqli_connect_errno())
+ {
+ $this->error = mysqli_connect_error();
+ $this -> _connid = false;
+// printf("keine Verbindung zu %s, Fehler: %s", $config["dbname"], $this->error);
+ exit();
+ }
+// printf("Verbindung zu %s steht<br>\n", $config["dbname"]);
+// echo "Verbindung zu " . $config["dbname"] . " steht.<br>\n";
+ }
+
+ function __destruct()
+ {
+ $this -> close();
+ }
+
+ function close()
+ {
+ if ($this -> _connid)
+ {
+ $this -> _connid -> close();
+ $this -> _connid = false;
+ }
+ $this->error = "";
+
+ }
+
+ function queryObjectArray($sql)
+ {// in $result_arr steht Array des Ergebnisses als Objekt
+ if ( is_string($sql) )
+ {
+ if ($this->result = $this->_connid->query($sql))
+ {
+ if ($this->result->num_rows)
+ {
+ while ($row = $this->result->fetch_object())
+ $result_arr[] = $row;
+ $this->result->free();
+ $this->_connid->next_result(); // wegen OUT-Parameter in stored procedures
+ return $result_arr;
+ }
+ else
+ {
+ $this->error = "";
+ return false;
+ }
+ }
+ else
+ {
+ $this->error = $this->_connid->error;
+ return false;
+ }
+ }
+ else
+ {
+ $this->error = "'$sql'<br> ist kein SQL-Statement!";
+ return false;
+ }
+
+ }
+
+ function querySingleItem($sql)
+ {// gibt nur 1 Zeile mit einer Spalte zurueck, z.B. Count()
+ if ($this->result = $this->_connid->query($sql))
+ {
+ if ($row = $this->result->fetch_array())
+ {
+ $this->result->close();
+ return $row[0];
+ }
+ else return false;
+ }
+ else
+ {
+ $this->error = $this->_connid->error;
+ return false;
+
+ }
+ }
+
+ function execute($sql)
+ {// INSERT, UPDATE, DELETE
+ if ($this->_connid->real_query($sql))
+ return true;
+ else
+ {
+ $this->error = $this->_connid->errno . ": " . $this->_connid->error;
+ return false;
+ }
+ }
+
+ function insertId()
+ {// liefert letzten Autowert bei INSERT
+ return $this->_connid->insert_id;
+ }
+
+ function numrows($sql)
+ {// Anzahl der Ergebniszeilen
+ if ($this->result = $this->_connid->query($sql))
+ {
+ return $this->result -> num_rows;
+ }
+ else
+ return 0;
+ }
+
+ function setcharset($string)
+ {// Zeichensatz fuer Client-Verbindung festlegen
+ if ($this -> _connid) $this ->_connid -> set_charset($string);
+ }
+
+ function escapestring($string)
+ {// string escapen: '," ersetzen durch \',\"
+ if ($this -> _connid) return $this ->_connid -> real_escape_string($string);
+ }
+
+ function getclient_info()
+ {// MySQL-Information
+ if ($this -> _connid) return $this ->_connid -> get_client_info();
+ }
+
+ function gethost_info()
+ {// Typ der Verbindung zur DB
+ if ($this -> _connid) return $this ->_connid -> get_server_info();
+ }
+
+ function stmtinit()
+ {// $_statement wird als Objekt der mysqli-Klasse erstellt, damit simd alle Methoden der MySQLi_STMT class verfuegbar
+ if ($this -> _connid) return $this->_statement = $this->_connid->stmt_init();
+ }
+}
+
+/**
+ * DateTime_s
+ *
+ * @package fhiiqm
+ * @author IQM achilleus
+ * @copyright Bettina Schwarzer
+ * @version 07/2011
+ * @access public
+ */
+class DateTime_s extends DateTime
+{
+ public function __toString()
+ { // Datetime -> String fuer INSERT/UPDATE
+ return $this->format('Y-m-d H:i:s');
+ }
+}
+?>
\ No newline at end of file