Add getAffectedRows() and getInsertID() to DB classes

쿼리 실행 후 affected rows, last insert ID 값을 받아올 수 있도록
DB 클래스에 관련 메소드를 추가함
This commit is contained in:
Kijin Sung 2018-01-15 13:59:14 +09:00
parent 8ef0d05ecb
commit fa2b2914f2
5 changed files with 106 additions and 9 deletions

View file

@ -39,6 +39,11 @@ class DBMysql extends DB
'float' => 'float',
);
/**
* Last statement executed
*/
var $last_stmt;
/**
* Constructor
* @return void
@ -177,6 +182,7 @@ class DBMysql extends DB
$this->setError(mysql_errno($connection), mysql_error($connection));
}
// Return result
$this->last_stmt = $result;
return $result;
}
@ -228,7 +234,7 @@ class DBMysql extends DB
{
$query = sprintf("insert into `%ssequence` (seq) values ('0')", $this->prefix);
$this->_query($query);
$sequence = $this->db_insert_id();
$sequence = $this->getInsertID();
if($sequence % 10000 == 0)
{
$query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence);
@ -800,16 +806,33 @@ class DBMysql extends DB
}
}
/**
* Get the number of rows affected by the last query
* @return int
*/
function getAffectedRows()
{
$connection = $this->_getConnection('master');
return mysql_affected_rows($connection);
}
/**
* Get the ID generated in the last query
* Return next sequence from sequence table
* This method use only mysql
* @return int
*/
function getInsertID()
{
$connection = $this->_getConnection('master');
return mysql_insert_id($connection);
}
/**
* @deprecated
* @return int
*/
function db_insert_id()
{
$connection = $this->_getConnection('master');
return mysql_insert_id($connection);
return $this->getInsertID();
}
/**