本文整理汇总了PHP中SC_DB_DBFactory_Ex类的典型用法代码示例。如果您正苦于以下问题:PHP SC_DB_DBFactory_Ex类的具体用法?PHP SC_DB_DBFactory_Ex怎么用?PHP SC_DB_DBFactory_Ex使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了SC_DB_DBFactory_Ex类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: SC_Query
/**
* コンストラクタ.
*
* @param string $dsn データソース名
* @param boolean $force_run エラーが発生しても処理を続行する場合 true
* @param boolean $new 新規に接続を行うかどうか
*/
function SC_Query($dsn = "", $force_run = false, $new = false)
{
if ($dsn == "") {
$dsn = array('phptype' => DB_TYPE, 'username' => DB_USER, 'password' => DB_PASSWORD, 'protocol' => 'tcp', 'hostspec' => DB_SERVER, 'port' => DB_PORT, 'database' => DB_NAME);
}
// Debugモード指定
// 常時ONにするとメモリが解放されない。
// 連続クエリ実行時に問題が生じる。
if (DEBUG_MODE) {
$options['debug'] = PEAR_DB_DEBUG;
} else {
$options['debug'] = 0;
}
// 持続的接続オプション
$options['persistent'] = PEAR_DB_PERSISTENT;
// バッファリング trueにするとメモリが解放されない。
// 連続クエリ実行時に問題が生じる。
$options['result_buffering'] = false;
if ($new) {
$this->conn = MDB2::connect($dsn, $options);
} else {
$this->conn = MDB2::singleton($dsn, $options);
}
if (!PEAR::isError($this->conn)) {
// $this->conn->setCharset("utf8"); XXX SQL Azure では使用できないらしい
$this->conn->setFetchMode(MDB2_FETCHMODE_ASSOC);
}
$this->dbFactory = SC_DB_DBFactory_Ex::getInstance();
$this->force_run = $force_run;
}
示例2: SC_DbConn
function SC_DbConn($dsn = "", $err_disp = true, $new = false)
{
global $objDbConn;
// Debugモード指定
$options['debug'] = PEAR_DB_DEBUG;
// 持続的接続オプション
$options['persistent'] = PEAR_DB_PERSISTENT;
// 既に接続されていないか、新規接続要望の場合は接続する。
if (!isset($objDbConn->connection) || $new) {
if ($dsn != "") {
$objDbConn = DB::connect($dsn, $options);
$this->dsn = $dsn;
} else {
if (defined('DEFAULT_DSN')) {
$objDbConn = DB::connect(DEFAULT_DSN, $options);
$this->dsn = DEFAULT_DSN;
} else {
return;
}
}
}
$this->conn = $objDbConn;
$this->error_mail_to = DB_ERROR_MAIL_TO;
$this->error_mail_title = DB_ERROR_MAIL_SUBJECT;
$this->err_disp = $err_disp;
$this->dbFactory = SC_DB_DBFactory_Ex::getInstance();
}
示例3: __construct
/**
* @param array $arrSelfInfo
*/
function __construct($arrSelfInfo)
{
parent::__construct($arrSelfInfo);
$this->objQuery = SC_Query_Ex::getSingletonInstance();
$this->objDb = new SC_Helper_DB_Ex();
$this->masterdata = new SC_DB_MasterData_Ex();
$this->objCategory = new SC_Helper_Category_Ex();
$this->objManager = $this->objQuery->conn->loadModule('Manager');
$this->objDbFuctory = SC_DB_DBFactory_Ex::getInstance(DB_TYPE);
}
示例4: process
/**
* Page のプロセス.
*
* @return void
*/
public function process($mode)
{
$objLog = new LC_Upgrade_Helper_LOG();
$objJson = new LC_Upgrade_Helper_Json();
$objLog->start($mode);
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array('eccube_version' => ECCUBE_VERSION, 'php_version' => phpversion(), 'db_version' => $dbFactory->sfGetDBVersion());
$objJson->setSuccess($arrSystemInfo);
$objJson->display();
$objLog->end();
}
示例5: process
/**
* Page のプロセス.
*
* @return void
*/
function process($mode)
{
$objLog = new LC_Upgrade_Helper_LOG();
$objJson = new LC_Upgrade_Helper_Json();
$objLog->start($mode);
if ($this->isValidIP() !== true) {
$objJson->setError(OSTORE_E_C_INVALID_ACCESS);
$objJson->display();
$objLog->error(OSTORE_E_C_INVALID_ACCESS);
return;
}
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array('eccube_version' => ECCUBE_VERSION, 'php_version' => phpversion(), 'db_version' => $dbFactory->sfGetDBVersion());
$objJson->setSuccess($arrSystemInfo);
$objJson->display();
$objLog->end();
}
示例6: sfColumnExists
/**
* カラムの存在チェックと作成を行う.
*
* チェック対象のテーブルに, 該当のカラムが存在するかチェックする.
* 引数 $add が true の場合, 該当のカラムが存在しない場合は, カラムの生成を行う.
* カラムの生成も行う場合は, $col_type も必須となる.
*
* @param string $tableName テーブル名
* @param string $colType カラムのデータ型
* @param string $dsn データソース名
* @param bool $add カラムの作成も行う場合 true
* @return bool カラムが存在する場合とカラムの生成に成功した場合 true,
* テーブルが存在しない場合 false,
* 引数 $add == false でカラムが存在しない場合 false
*/
public function sfColumnExists($tableName, $colName, $colType = '', $dsn = '', $add = false)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
$objQuery =& SC_Query_Ex::getSingletonInstance($dsn);
// テーブルが無ければエラー
if (!in_array($tableName, $objQuery->listTables())) {
return false;
}
// 正常に接続されている場合
if (!$objQuery->isError()) {
// カラムリストを取得
$columns = $objQuery->listTableFields($tableName);
if (in_array($colName, $columns)) {
return true;
}
}
// カラムを追加する
if ($add) {
return $this->sfColumnAdd($tableName, $colName, $colType);
}
return false;
}
示例7: getSystemInfo
/**
* システム情報を取得する.
*
* @return array システム情報
*/
public function getSystemInfo()
{
$objDB = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array(array('title' => 'EC-CUBE', 'value' => ECCUBE_VERSION), array('title' => 'サーバーOS', 'value' => php_uname()), array('title' => 'DBサーバー', 'value' => $objDB->sfGetDBVersion()), array('title' => 'WEBサーバー', 'value' => $_SERVER['SERVER_SOFTWARE']));
$value = phpversion() . ' (' . implode(', ', get_loaded_extensions()) . ')';
$arrSystemInfo[] = array('title' => 'PHP', 'value' => $value);
if (extension_loaded('GD') || extension_loaded('gd')) {
$arrValue = array();
foreach (gd_info() as $key => $val) {
$arrValue[] = "{$key} => {$val}";
}
$value = '有効 (' . implode(', ', $arrValue) . ')';
} else {
$value = '無効';
}
$arrSystemInfo[] = array('title' => 'GD', 'value' => $value);
$arrSystemInfo[] = array('title' => 'HTTPユーザーエージェント', 'value' => $_SERVER['HTTP_USER_AGENT']);
return $arrSystemInfo;
}
示例8: sfDataExists
/**
* データの存在チェックを行う.
*
* @param string $tableName テーブル名
* @param string $where データを検索する WHERE 句
* @param array $arrWhereVal WHERE句のプレースホルダ値
* @return bool データが存在する場合 true, データの追加に成功した場合 true,
* $add == false で, データが存在しない場合 false
*/
public function sfDataExists($tableName, $where, $arrWhereVal)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
$objQuery =& SC_Query_Ex::getSingletonInstance();
$exists = $objQuery->exists($tableName, $where, $arrWhereVal);
// データが存在する場合 TRUE
if ($exists) {
return TRUE;
} else {
return FALSE;
}
}
示例9: lfGetOrderTerm
function lfGetOrderTerm($type, $sdate, $edate)
{
$objQuery = SC_Query_Ex::getSingletonInstance();
list($where, $arrWhereVal) = $this->lfGetWhereMember('create_date', $sdate, $edate);
$where .= ' AND del_flg = 0 AND status <> ?';
$arrWhereVal[] = ORDER_CANCEL;
switch ($type) {
case 'month':
$xtitle = t('c_(By month)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%m';
break;
case 'year':
$xtitle = t('c_(By year)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%Y';
break;
case 'wday':
$xtitle = t('c_(By day)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%a';
break;
case 'hour':
$xtitle = t('c_(By time)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%H';
break;
default:
$xtitle = t('c_(By date)_01');
$ytitle = t('c_(Total sales)_01');
$format = '%Y-%m-%d';
$xincline = true;
break;
}
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
// todo postgres
$col = $dbFactory->getOrderTotalDaysWhereSql($type);
$objQuery->setGroupBy('str_date');
$objQuery->setOrder('str_date');
// 検索結果の取得
$arrTotalResults = $objQuery->select($col, 'dtb_order', $where, $arrWhereVal);
$arrTotalResults = $this->lfAddBlankLine($arrTotalResults, $type, $sdate, $edate);
// todo GDない場合の処理
$tpl_image = $this->lfGetGraphLine($arrTotalResults, 'str_date', 'term_' . $type, $xtitle, $ytitle, $sdate, $edate, $xincline);
$arrTotalResults = $this->lfAddTotalLine($arrTotalResults);
return array($arrTotalResults, $tpl_image);
}
示例10: __construct
function __construct($array, $mode = '')
{
parent::__construct($array);
$objDb = new SC_Helper_DB_Ex();
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
if ($mode == '') {
// 会員本登録会員で削除していない会員
$this->setWhere('status = 2 AND del_flg = 0 ');
// 登録日を示すカラム
$regdate_col = 'dtb_customer.update_date';
}
if ($mode == 'customer') {
$this->setWhere(' del_flg = 0 ');
// 登録日を示すカラム
$regdate_col = 'dtb_customer.update_date';
}
// 会員ID
if (!isset($this->arrSql['search_customer_id'])) {
$this->arrSql['search_customer_id'] = '';
}
if (strlen($this->arrSql['search_customer_id']) > 0) {
$this->setWhere('customer_id = ?');
$this->arrVal[] = $this->arrSql['search_customer_id'];
}
// 名前
if (!isset($this->arrSql['search_name'])) {
$this->arrSql['search_name'] = '';
}
if (strlen($this->arrSql['search_name']) > 0) {
$this->setWhere('(' . $dbFactory->concatColumn(array('name01', 'name02')) . ' LIKE ?)');
$searchName = $this->addSearchStr($this->arrSql['search_name']);
$this->arrVal[] = mb_ereg_replace('[ ]+', '', $searchName);
}
// 名前(フリガナ)
if (!isset($this->arrSql['search_kana'])) {
$this->arrSql['search_kana'] = '';
}
if (strlen($this->arrSql['search_kana']) > 0) {
$this->setWhere('(' . $dbFactory->concatColumn(array('kana01', 'kana02')) . ' LIKE ?)');
$searchKana = $this->addSearchStr($this->arrSql['search_kana']);
$this->arrVal[] = mb_ereg_replace('[ ]+', '', $searchKana);
}
// 都道府県
if (!isset($this->arrSql['search_pref'])) {
$this->arrSql['search_pref'] = '';
}
if (strlen($this->arrSql['search_pref']) > 0) {
$this->setWhere('pref = ?');
$this->arrVal[] = $this->arrSql['search_pref'];
}
// 電話番号
if (!isset($this->arrSql['search_tel'])) {
$this->arrSql['search_tel'] = '';
}
if (is_numeric($this->arrSql['search_tel'])) {
$this->setWhere('(' . $dbFactory->concatColumn(array('tel01', 'tel02', 'tel03')) . ' LIKE ?)');
$searchTel = $this->addSearchStr($this->arrSql['search_tel']);
$this->arrVal[] = str_replace('-', '', $searchTel);
}
// 性別
if (!isset($this->arrSql['search_sex'])) {
$this->arrSql['search_sex'] = '';
}
if (is_array($this->arrSql['search_sex'])) {
$arrSexVal = $this->setItemTerm($this->arrSql['search_sex'], 'sex');
foreach ($arrSexVal as $data) {
$this->arrVal[] = $data;
}
}
// 職業
if (!isset($this->arrSql['search_job'])) {
$this->arrSql['search_job'] = '';
}
if (is_array($this->arrSql['search_job'])) {
if (in_array(t('c_Unknown_01'), $this->arrSql['search_job'])) {
$arrJobVal = $this->setItemTermWithNull($this->arrSql['search_job'], 'job');
} else {
$arrJobVal = $this->setItemTerm($this->arrSql['search_job'], 'job');
}
if (is_array($arrJobVal)) {
foreach ($arrJobVal as $data) {
$this->arrVal[] = $data;
}
}
}
// E-MAIL
if (!isset($this->arrSql['search_email'])) {
$this->arrSql['search_email'] = '';
}
if (strlen($this->arrSql['search_email']) > 0) {
//カンマ区切りで複数の条件指定可能に
$this->arrSql['search_email'] = explode(',', $this->arrSql['search_email']);
$sql_where = '';
foreach ($this->arrSql['search_email'] as $val) {
$val = trim($val);
//検索条件を含まない
if ($this->arrSql['not_emailinc'] == '1') {
if ($sql_where == '') {
$sql_where .= 'dtb_customer.email NOT ILIKE ? ';
} else {
//.........这里部分代码省略.........
示例11: getSystemInfo
/**
* システム情報を取得する.
*
* @return array システム情報
*/
function getSystemInfo()
{
$objDB = SC_DB_DBFactory_Ex::getInstance();
$arrSystemInfo = array(array('title' => t('c_EC-CUBE_01'), 'value' => ECCUBE_VERSION), array('title' => t('c_Server OS_01'), 'value' => php_uname()), array('title' => t('c_DB server_01'), 'value' => $objDB->sfGetDBVersion()), array('title' => t('c_WEB server_01'), 'value' => $_SERVER['SERVER_SOFTWARE']));
$value = phpversion() . ' (' . implode(', ', get_loaded_extensions()) . ')';
$arrSystemInfo[] = array('title' => 'PHP', 'value' => $value);
if (extension_loaded('GD') || extension_loaded('gd')) {
$arrValue = array();
foreach (gd_info() as $key => $val) {
$arrValue[] = "{$key} => {$val}";
}
$value = t('c_Enabled_01') . ' (' . implode(', ', $arrValue) . ')';
} else {
$value = t('c_Inactive_01');
}
$arrSystemInfo[] = array('title' => t('c_GD_01'), 'value' => $value);
$arrSystemInfo[] = array('title' => t('c_HTTP user agent_01'), 'value' => $_SERVER['HTTP_USER_AGENT']);
return $arrSystemInfo;
}
示例12: lfCheckDBError
function lfCheckDBError($objFormParam)
{
global $objPage;
// 入力データを渡す。
$arrRet = $objFormParam->getHashArray();
$objErr = new SC_CheckError($arrRet);
$objErr->arrErr = $objFormParam->checkError();
if (count($objErr->arrErr) == 0) {
if (!defined("DB_TYPE")) {
define("DB_TYPE", $arrRet['db_type']);
}
// 接続確認
$dsn = $arrRet['db_type'] . "://" . $arrRet['db_user'] . ":" . $arrRet['db_password'] . "@" . $arrRet['db_server'] . ":" . $arrRet['db_port'] . "/" . $arrRet['db_name'];
// Debugモード指定
$options['debug'] = PEAR_DB_DEBUG;
$objDB = MDB2::connect($dsn, $options);
// 接続成功
if (!PEAR::isError($objDB)) {
$dbFactory = SC_DB_DBFactory_Ex::getInstance($arrRet['db_type']);
// データベースバージョン情報の取得
$objPage->tpl_db_version = $dbFactory->sfGetDBVersion($dsn);
} else {
$objErr->arrErr['all'] = ">> " . $objDB->message . "<br />";
// エラー文を取得する
ereg("\\[(.*)\\]", $objDB->userinfo, $arrKey);
$objErr->arrErr['all'] .= $arrKey[0] . "<br />";
GC_Utils_Ex::gfPrintLog($objDB->userinfo, INSTALL_LOG);
}
}
return $objErr->arrErr;
}
示例13: lfGetReviewYesterday
/**
* 昨日のレビュー書き込み数の取得
*
* @return integer 昨日のレビュー書き込み数
*/
function lfGetReviewYesterday()
{
$objQuery =& SC_Query_Ex::getSingletonInstance();
// TODO: DBFactory使わないでも共通化できそうな気もしますが
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$sql = $dbFactory->getReviewYesterdaySql();
return $objQuery->getOne($sql);
}
示例14: sfDataExists
/**
* データの存在チェックを行う.
*
* @param string $table_name テーブル名
* @param string $where データを検索する WHERE 句
* @param string $dsn データソース名
* @param string $sql @deprecated データの追加を行う場合の SQL文
* @param bool $add @deprecated データの追加も行う場合 true
* @return bool データが存在する場合 true, データの追加に成功した場合 true,
* $add == false で, データが存在しない場合 false
*/
function sfDataExists($table_name, $where, $arrWhereVal, $dsn = '', $sql = '', $add = false)
{
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$dsn = $dbFactory->getDSN($dsn);
$objQuery =& SC_Query_Ex::getSingletonInstance();
$exists = $objQuery->exists($table_name, $where, $arrWhereVal);
// データが存在する場合 TRUE
if ($exists) {
return TRUE;
// $add が TRUE の場合はデータを追加する
} elseif ($add) {
return $objQuery->exec($sql);
// $add が FALSE で、データが存在しない場合 FALSE
} else {
return FALSE;
}
}
示例15: select
/**
* SELECT文を実行する.
*
* @param string $col カラム名. 複数カラムの場合はカンマ区切りで書く
* @param string $table テーブル名
* @param string $where WHERE句
* @param array $arrval プレースホルダ
* @return array|null
*/
function select($col, $table, $where = "", $arrval = array())
{
$sqlse = $this->getsql($col, $table, $where);
// DBに依存した SQL へ変換
$dbFactory = SC_DB_DBFactory_Ex::getInstance();
$sqlse = $dbFactory->sfChangeMySQL($sqlse);
$ret = $this->conn->getAll($sqlse, $arrval);
return $ret;
}