當前位置: 首頁>>代碼示例>>PHP>>正文


PHP DBManager::massageValue方法代碼示例

本文整理匯總了PHP中DBManager::massageValue方法的典型用法代碼示例。如果您正苦於以下問題:PHP DBManager::massageValue方法的具體用法?PHP DBManager::massageValue怎麽用?PHP DBManager::massageValue使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在DBManager的用法示例。


在下文中一共展示了DBManager::massageValue方法的2個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: massageValue

 /**
  * @see DBManager::massageValue()
  */
 public function massageValue($val, $fieldDef, $forPrepared = false)
 {
     $type = $this->getFieldType($fieldDef);
     $ctype = $this->getColumnType($type);
     // Deal with values that would exceed the 32k constant limit of DB2
     //Note we assume DB2 counts bytes and not characters
     if (strpos($ctype, 'clob') !== false && strlen($val) > 32000 && !$forPrepared) {
         $chunk = '';
         // Incrementing with number of bytes of chunk to not loose any characters
         for ($pos = 0, $i = 0; $pos < strlen($val) && $i < 5; $pos += strlen($chunk), $i++) {
             //mb_strcut uses bytes and shifts to left character boundary for both start and stop if necessary
             $chunk = mb_strcut($val, $pos, 32000);
             if (!isset($massagedValue)) {
                 $massagedValue = "TO_CLOB('{$chunk}')";
             } else {
                 $massagedValue = "CONCAT({$massagedValue}, '{$chunk}')";
             }
         }
         return $massagedValue;
     }
     $val = parent::massageValue($val, $fieldDef, $forPrepared);
     if (!$forPrepared) {
         switch ($type) {
             case 'blob':
             case 'longblob':
                 $val = 'SYSIBM.BLOB(' . $val . ')';
                 break;
         }
     }
     return $val;
 }
開發者ID:jglaine,項目名稱:sugar761-ent,代碼行數:34,代碼來源:IBMDB2Manager.php

示例2: massageValue

 /**
  * @see DBManager::massageValue()
  */
 public function massageValue($val, $fieldDef, $forPrepared = false)
 {
     $type = $this->getFieldType($fieldDef);
     $ctype = $this->getColumnType($type);
     if (!$forPrepared) {
         if ($ctype == 'clob') {
             return "EMPTY_CLOB()";
         }
         if ($ctype == 'blob') {
             return "EMPTY_BLOB()";
         }
     }
     if ($type == "date" && !empty($val)) {
         $val = explode(" ", $val);
         // make sure that we do not pass the time portion
         return parent::massageValue($val[0], $fieldDef, $forPrepared);
         // get the date portion
     }
     return parent::massageValue($val, $fieldDef, $forPrepared);
 }
開發者ID:jglaine,項目名稱:sugar761-ent,代碼行數:23,代碼來源:OracleManager.php


注:本文中的DBManager::massageValue方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。