本文整理汇总了PHP中oxDb::_oDB方法的典型用法代码示例。如果您正苦于以下问题:PHP oxDb::_oDB方法的具体用法?PHP oxDb::_oDB怎么用?PHP oxDb::_oDB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oxDb
的用法示例。
在下文中一共展示了oxDb::_oDB方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getDb
/**
* Returns database object
*
* @param int $iFetchMode - fetch mode default numeric - 0
*
* @throws oxConnectionException error while initiating connection to DB
*
* @return oxLegacyDb
*/
public static function getDb($iFetchMode = oxDb::FETCH_MODE_NUM)
{
if (defined('OXID_PHP_UNIT')) {
if (isset(modDB::$unitMOD) && is_object(modDB::$unitMOD)) {
return modDB::$unitMOD;
}
}
if (self::$_oDB === null) {
$oInst = self::getInstance();
//setting configuration on the first call
$oInst->setConfig(oxRegistry::get("oxConfigFile"));
global $ADODB_SESSION_TBL, $ADODB_SESSION_CONNECT, $ADODB_SESSION_DRIVER, $ADODB_SESSION_USER, $ADODB_SESSION_PWD, $ADODB_SESSION_DB, $ADODB_SESS_LIFE, $ADODB_SESS_DEBUG;
// session related parameters. don't change.
//Tomas
//the default setting is 3000 * 60, but actually changing this will give no effect as now redefinition of this constant
//appears after OXID custom settings are loaded and $ADODB_SESS_LIFE depends on user settings.
//You can find the redefinition of ADODB_SESS_LIFE @ oxconfig.php:: line ~ 390.
$ADODB_SESS_LIFE = 3000 * 60;
$ADODB_SESSION_TBL = "oxsessions";
$ADODB_SESSION_DRIVER = self::_getConfigParam('_dbType');
$ADODB_SESSION_USER = self::_getConfigParam('_dbUser');
$ADODB_SESSION_PWD = self::_getConfigParam('_dbPwd');
$ADODB_SESSION_DB = self::_getConfigParam('_dbName');
$ADODB_SESSION_CONNECT = self::_getConfigParam('_dbHost');
$ADODB_SESS_DEBUG = false;
$oDb = new oxLegacyDb();
$oDbInst = $oInst->_getDbInstance();
$oDb->setConnection($oDbInst);
self::$_oDB = $oDb;
}
self::$_oDB->setFetchMode($iFetchMode);
return self::$_oDB;
}
示例2: getDb
/**
* Returns database object
*
* @param boolean $blAssoc default false
*
* @throws oxConnectionException error while initiating connection to DB
*
* @return ADOConnection
*/
public static function getDb($blAssoc = false)
{
global $ADODB_FETCH_MODE;
if ($blAssoc) {
$ADODB_FETCH_MODE = ADODB_FETCH_ASSOC;
} else {
$ADODB_FETCH_MODE = ADODB_FETCH_NUM;
}
if (defined('OXID_PHP_UNIT')) {
if (isset(modDB::$unitMOD) && is_object(modDB::$unitMOD)) {
return modDB::$unitMOD;
}
}
if (self::$_oDB !== null) {
return self::$_oDB;
}
global $ADODB_CACHE_DIR;
global $ADODB_DRIVER, $ADODB_SESSION_TBL, $ADODB_SESSION_CONNECT, $ADODB_SESSION_DRIVER, $ADODB_SESSION_USER, $ADODB_SESSION_PWD, $ADODB_SESSION_DB, $ADODB_SESS_LIFE, $ADODB_SESS_DEBUG;
//adding exception handler for SQL errors
$myConfig = self::getInstance()->getConfig();
$iDebug = $myConfig->getConfigParam('iDebug');
if ($iDebug) {
include_once getShopBasePath() . 'core/adodblite/adodb-exceptions.inc.php';
}
// session related parameters. don't change.
//Tomas
//the default setting is 3000 * 60, but actually changing this will give no effect as now redefinition of this constant
//appears after OXID custom settings are loaded and $ADODB_SESS_LIFE depends on user settings.
//You can find the redefinition of ADODB_SESS_LIFE @ oxconfig.php:: line ~ 390.
$ADODB_SESS_LIFE = 3000 * 60;
$ADODB_SESSION_TBL = "oxsessions";
$ADODB_SESSION_DRIVER = $myConfig->getConfigParam('dbType');
$ADODB_SESSION_USER = $myConfig->getConfigParam('dbUser');
$ADODB_SESSION_PWD = $myConfig->getConfigParam('dbPwd');
$ADODB_SESSION_DB = $myConfig->getConfigParam('dbName');
$ADODB_SESSION_CONNECT = $myConfig->getConfigParam('dbHost');
$ADODB_SESS_DEBUG = false;
$ADODB_CACHE_DIR = $myConfig->getConfigParam('sCompileDir');
$sModules = '';
if ($iDebug == 2 || $iDebug == 3 || $iDebug == 4 || $iDebug == 7) {
$sModules = 'perfmon';
}
// log admin changes ?
if ($myConfig->isAdmin() && $myConfig->getConfigParam('blLogChangesInAdmin')) {
$sModules = ($sModules ? ':' : '') . 'oxadminlog';
}
self::$_oDB = ADONewConnection($myConfig->getConfigParam('dbType'), $sModules);
$sVerPrefix = '';
$sVerPrefix = '_ce';
if (!self::$_oDB->connect($myConfig->getConfigParam('dbHost'), $myConfig->getConfigParam('dbUser'), $myConfig->getConfigParam('dbPwd'), $myConfig->getConfigParam('dbName'))) {
$sConfig = join('', file(getShopBasePath() . 'config.inc.php'));
if (strpos($sConfig, '<dbHost' . $sVerPrefix . '>') !== false && strpos($sConfig, '<dbName' . $sVerPrefix . '>') !== false) {
header('location:setup/index.php');
// pop to setup as there is something wrong
oxUtils::getInstance()->showMessageAndExit("");
} else {
// notifying shop owner about connection problems
$sFailedShop = isset($_REQUEST['shp']) ? addslashes($_REQUEST['shp']) : 'Base shop';
$sDate = date('l dS of F Y h:i:s A');
$sScript = $_SERVER['SCRIPT_NAME'] . '?' . $_SERVER['QUERY_STRING'];
$sReferer = $_SERVER['HTTP_REFERER'];
//sending a message to admin
$sWarningSubject = 'Offline warning!';
$sWarningBody = "\n Database error in OXID eShop:\n Date: {$sDate}\n Shop: {$sFailedShop}\n\n mysql error: " . self::$_oDB->errorMsg() . "\n mysql error no: " . self::$_oDB->errorNo() . "\n\n Script: {$sScript}\n Referer: {$sReferer}";
if ($sAdminEmail = $myConfig->getConfigParam('sAdminEmail')) {
include 'core/phpmailer/class.phpmailer.php';
$oMailer = new phpmailer();
$oMailer->isMail();
$oMailer->From = $sAdminEmail;
$oMailer->AddAddress($sAdminEmail);
$oMailer->Subject = $sWarningSubject;
$oMailer->Body = $sWarningBody;
$oMailer->send();
}
//only exception to default construction method
$oEx = new oxConnectionException();
$oEx->setMessage('EXCEPTION_CONNECTION_NODB');
$oEx->setConnectionError($myConfig->getConfigParam('dbUser') . 's' . getShopBasePath() . self::$_oDB->errorMsg());
throw $oEx;
}
}
if ($iDebug == 2 || $iDebug == 3 || $iDebug == 4 || $iDebug == 7) {
try {
self::$_oDB->execute('truncate table adodb_logsql;');
} catch (ADODB_Exception $e) {
// nothing
}
self::$_oDB->logSQL(true);
}
self::$_oDB->cacheSecs = 60 * 10;
// 10 minute caching
//.........这里部分代码省略.........
示例3: clearInstance
public static function clearInstance()
{
oxDb::$_oDB = null;
}