restoration after wrong rollback
git-svn-id: svn+ssh://code.netmonsters.ru/svn/majestic/trunk@89 4cb57b5f-5bbd-dd11-951b-001d605cbbc5
This commit is contained in:
@ -13,6 +13,15 @@
|
||||
*/
|
||||
class DBConnector
|
||||
{
|
||||
|
||||
/**
|
||||
* PDO constant values.
|
||||
*/
|
||||
const FETCH_ASSOC = 2;
|
||||
const FETCH_BOTH = 4;
|
||||
const FETCH_NUM = 3;
|
||||
const FETCH_OBJ = 5;
|
||||
|
||||
static private $handlers = array();
|
||||
static public $queries = array();
|
||||
|
||||
@ -78,6 +87,45 @@ class DBConnector
|
||||
return $class_name ? mysqli_fetch_object($result, $class_name) : mysqli_fetch_object($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches a row from the result set.
|
||||
*
|
||||
* @param mysqli_result $result
|
||||
* @param int $style OPTIONAL Fetch mode for this fetch operation.
|
||||
* @return mixed Array, object, or scalar depending on fetch mode.
|
||||
* @throws Exception
|
||||
*/
|
||||
static public function fetchArray($result, $style = null)
|
||||
{
|
||||
if (!$result) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($style === null) {
|
||||
$style = self::FETCH_ASSOC;
|
||||
}
|
||||
|
||||
$row = false;
|
||||
switch ($style) {
|
||||
case self::FETCH_NUM:
|
||||
$row = mysqli_fetch_array($result, MYSQLI_NUM);
|
||||
break;
|
||||
case self::FETCH_ASSOC:
|
||||
$row = mysqli_fetch_array($result, MYSQLI_ASSOC);
|
||||
break;
|
||||
case self::FETCH_BOTH:
|
||||
$row = mysqli_fetch_array($result, MYSQLI_BOTH);
|
||||
break;
|
||||
case self::FETCH_OBJ:
|
||||
$row = mysqli_fetch_object($result, MYSQLI_BOTH);
|
||||
break;
|
||||
default:
|
||||
throw new Exception('Invalid fetch mode "' . $style . '" specified');
|
||||
break;
|
||||
}
|
||||
return $row;
|
||||
}
|
||||
|
||||
static public function numRows($result)
|
||||
{
|
||||
return mysqli_num_rows($result);
|
||||
|
@ -33,15 +33,15 @@ final class Env
|
||||
{
|
||||
return isset($_SESSION[$var]) ? $_SESSION[$var] : $default;
|
||||
}
|
||||
|
||||
|
||||
static function setSession($var, $value)
|
||||
{
|
||||
$_SESSION[$var] = $value;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Unsets session var
|
||||
*
|
||||
*
|
||||
* @param string $var
|
||||
*/
|
||||
static function unsetSession($var)
|
||||
|
@ -183,6 +183,28 @@ class ModelSelectResult extends ModelResult
|
||||
return $array;
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetches all SQL result rows as an array of key-value pairs.
|
||||
*
|
||||
* The first column is the key, the second column is the
|
||||
* value.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function fetchPairs()
|
||||
{
|
||||
if (!method_exists('DBConnector', 'fetchArray')) {
|
||||
throw new Exception('Method not implemented yet.');
|
||||
}
|
||||
|
||||
$data = array();
|
||||
while ($row = DBConnector::fetchArray($this->result, DBConnector::FETCH_NUM)) {
|
||||
$data[$row[0]] = $row[1];
|
||||
}
|
||||
return $data;
|
||||
}
|
||||
|
||||
|
||||
function count()
|
||||
{
|
||||
return DBConnector::numRows($this->result);
|
||||
|
Reference in New Issue
Block a user