diff --git a/db/connection/Connection.php b/db/connection/Connection.php index a4b0f27..b11a26c 100644 --- a/db/connection/Connection.php +++ b/db/connection/Connection.php @@ -98,4 +98,7 @@ class Connection extends ConnectionAbstr{ */ public function commit(){ return $this->connection->commit();} + + public function insert_id(){ + return $this->connection->insert_id();} } \ No newline at end of file diff --git a/db/connection/ConnectionAMQP.php b/db/connection/ConnectionAMQP.php index da2cc6e..44b2878 100644 --- a/db/connection/ConnectionAMQP.php +++ b/db/connection/ConnectionAMQP.php @@ -130,4 +130,7 @@ class ConnectionAMQP extends ConnectionAbstr { */ public function trans(){ throw new \Exception('Could not start Transaction: not implemented');} + + public function insert_id(){ + throw new \Exception('Not implemented');} } \ No newline at end of file diff --git a/db/connection/ConnectionMYS.php b/db/connection/ConnectionMYS.php index 5b72dcb..7359c46 100644 --- a/db/connection/ConnectionMYS.php +++ b/db/connection/ConnectionMYS.php @@ -119,4 +119,8 @@ class ConnectionMYS extends ConnectionAbstr { if(!\mysqli_begin_transaction($this->connection,MYSQLI_TRANS_START_WITH_CONSISTENT_SNAPSHOT)){ throw new \Exception('Could not start Transaction: '.\mysqli_error($this->connection));} return true;} + + public function insert_id(){ + return \mysqli_insert_id($this->connection); + } } \ No newline at end of file diff --git a/db/connection/ConnectionPG.php b/db/connection/ConnectionPG.php index fac176c..840827f 100644 --- a/db/connection/ConnectionPG.php +++ b/db/connection/ConnectionPG.php @@ -119,4 +119,7 @@ class ConnectionPG extends ConnectionAbstr { */ public function exec($query) { throw new \Exception('Could not start Transaction: not implemented');} + + public function insert_id(){ + throw new \Exception('Not implemented');} } \ No newline at end of file diff --git a/db/connection/ConnectionSQLite.php b/db/connection/ConnectionSQLite.php index a0e2f89..f1becb4 100644 --- a/db/connection/ConnectionSQLite.php +++ b/db/connection/ConnectionSQLite.php @@ -107,4 +107,7 @@ class ConnectionSQLite extends ConnectionAbstr { */ public function trans(){ throw new \Exception('Could not start Transaction: not implemented');} + + public function insert_id(){ + throw new \Exception('Not implemented');} } \ No newline at end of file diff --git a/db/qq/QP.php b/db/qq/QP.php index 43b2054..52b5a61 100644 --- a/db/qq/QP.php +++ b/db/qq/QP.php @@ -82,7 +82,7 @@ class QP { * @param DBINFO $dbinfo Database Info or Null for Default DB * @return bool Returns true or false (or Result if used incorrectly) */ - public static function QI($params,$dbinfo = null){ + public static function QI($params,$return_id = false,$dbinfo = null){ $qq = self::QQ($params,$dbinfo); - return $qq->affectedRows() != (0||null);} + return $return_id ? $qq->insert_id() : $qq->affectedRows() != (0||null);} } \ No newline at end of file diff --git a/db/qq/QQ.php b/db/qq/QQ.php index eaa7b36..9d5fd05 100644 --- a/db/qq/QQ.php +++ b/db/qq/QQ.php @@ -80,6 +80,7 @@ class QQ { * @param DBINFO $dbinfo Database Info or Null for Default DB * @return bool Returns true or false (or Result if used incorrectly) */ - public static function QI($dbinfo = null){ - return self::QQ($dbinfo);} + public static function QI($return_id = false,$dbinfo = null){ + $qq = self::QQ($dbinfo); + return $return_id ? $qq->insert_id() : $qq->affectedRows() != (0||null);} } \ No newline at end of file diff --git a/db/result/ResultMysqliPrepare.php b/db/result/ResultMysqliPrepare.php index cc1c51b..762b637 100644 --- a/db/result/ResultMysqliPrepare.php +++ b/db/result/ResultMysqliPrepare.php @@ -107,4 +107,8 @@ class ResultMysqliPrepare extends \SYSTEM\DB\Result{ */ public function seek($row_number){ return \mysqli_stmt_data_seek($this->res,$row_number);} + + public function insert_id(){ + return $this->connection->insert_id(); + } } \ No newline at end of file