diff --git a/db/qq/QP.php b/db/qq/QP.php index 534b5d7..f152998 100644 --- a/db/qq/QP.php +++ b/db/qq/QP.php @@ -1,35 +1,39 @@ dbinfo); - $is_pg = \SYSTEM\system::isSystemDbInfoPG(); - if($query->dbinfo){ - $is_pg = $query->dbinfo instanceof \SYSTEM\DB\DBInfoPG;} - if($is_pg){ - return $con->prepare($query->name,$query->sql_pg,$params); - } else { - return $con->prepare($query->name,$query->sql_mys,$params_mys ? $params_mys : $params);} +class QP { + public static function QQ($params,$dbinfo = null){ + if(!$dbinfo){ + $dbinfo = \SYSTEM\system::getSystemDBInfo();} + $con = new \SYSTEM\DB\Connection($dbinfo); + + try{ + if($dbinfo instanceof \SYSTEM\DB\DBInfoPG){ + return $con->prepare(static::get_class(),static::pgsql(),$params); + } else if ($dbinfo instanceof \SYSTEM\DB\DBInfoMYS){ + return $con->prepare(static::get_class(),static::mysql(),$params); + } else if ($dbinfo instanceof \SYSTEM\DB\DBInfoAMQP){ + return $con->prepare(static::get_class(),static::amqp(),$params); + } else if ($dbinfo instanceof \SYSTEM\DB\DBInfoSQLite){ + return $con->prepare(static::get_class(),static::sqlite(),$params); + } + } catch (\Exception $e){ + throw new \SYSTEM\LOG\ERROR(static::get_class().' failed causing: '.$e->getMessage(),$e->getCode(),$e);} + throw new \Exception('Could not understand Database Settings. Check ur Database Settings'); } - public static function QA($params,$params_mys = null){ - $res = self::QQ($params,$params_mys); + public static function QA($params,$dbinfo = null){ + $res = self::QQ($params,$dbinfo); $result = array(); while($row = $res->next()){ $result[] = $row;} return $result; } - public static function Q1($params,$params_mys = null){ - return self::QQ($params,$params_mys)->next();} + public static function Q1($params,$dbinfo = null){ + return self::QQ($params,$dbinfo)->next();} - public static function QI($params,$params_mys = null){ - $qq = self::QQ($params,$params_mys); - return $qq->affectedRows() != (0||null);} - //override this - protected static function query(){ - throw new \SYSTEM\LOG\ERROR('query function of your QP Class not overwritten!');} - //return new QQuery();} + public static function QI($params,$dbinfo = null){ + $qq = self::QQ($params,$dbinfo); + return $qq->affectedRows() != (0||null);} } \ No newline at end of file diff --git a/db/qq/QQ.php b/db/qq/QQ.php index ab86314..d8b3de7 100644 --- a/db/qq/QQ.php +++ b/db/qq/QQ.php @@ -2,33 +2,37 @@ namespace SYSTEM\DB; class QQ { - public static function QQ(){ - $query = static::query(); - $con = new \SYSTEM\DB\Connection($query->dbinfo); - $is_pg = \SYSTEM\system::isSystemDbInfoPG(); - if($query->dbinfo){ - $is_pg = $query->dbinfo instanceof \SYSTEM\DB\DBInfoPG;} - if($is_pg){ - return $con->query($query->sql_pg); - } else { - return $con->query($query->sql_mys);} + public static function QQ($dbinfo = null){ + if(!$dbinfo){ + $dbinfo = \SYSTEM\system::getSystemDBInfo();} + $con = new \SYSTEM\DB\Connection($dbinfo); + + try{ + if($dbinfo instanceof \SYSTEM\DB\DBInfoPG){ + return $con->query(static::pgsql()); + } else if ($dbinfo instanceof \SYSTEM\DB\DBInfoMYS){ + return $con->query(static::mysql()); + } else if ($dbinfo instanceof \SYSTEM\DB\DBInfoAMQP){ + return $con->query(static::amqp()); + } else if ($dbinfo instanceof \SYSTEM\DB\DBInfoSQLite){ + return $con->query(static::sqlite()); + } + } catch (\Exception $e){ + throw new \SYSTEM\LOG\ERROR(static::get_class().' failed causing: '.$e->getMessage(),$e->getCode(),$e);} + + throw new \Exception('Could not understand Database Settings. Check ur Database Settings'); } - public static function QA(){ - $res = self::QQ(); + public static function QA($dbinfo = null){ + $res = self::QQ($dbinfo); $result = array(); while($row = $res->next()){ $result[] = $row;} return $result; } - public static function Q1(){ - return self::QQ()->next();} - public static function QI(){ - $qq = self::QQ(); - return $qq;} - //override this - protected static function query(){ - throw new \SYSTEM\LOG\ERROR('query function of your QQ Class not overwritten!');} - //return new QQuery();} + public static function Q1($dbinfo = null){ + return self::QQ($dbinfo)->next();} + public static function QI($dbinfo = null){ + return self::QQ($dbinfo);} } \ No newline at end of file diff --git a/db/qq/QQuery.php b/db/qq/QQuery.php deleted file mode 100644 index 3b7a306..0000000 --- a/db/qq/QQuery.php +++ /dev/null @@ -1,16 +0,0 @@ -name = $name; - $this->sql_pg = $sql_pg; - $this->sql_mys = $sql_mys; - $this->dbinfo = $dbinfo; - } -} diff --git a/dbd/qq/SYS_API_TREE.php b/dbd/qq/SYS_API_TREE.php index e77d418..f0aa452 100644 --- a/dbd/qq/SYS_API_TREE.php +++ b/dbd/qq/SYS_API_TREE.php @@ -1,15 +1,15 @@