Example #1
0
 function insert($data)
 {
     if ($this->table == "sdb_dbeav_meta_value_int" && $data['value'] == "") {
         $data['value'] = 0;
     }
     $rs = $this->db->exec('select * from ' . $this->table . ' where 0=1');
     $sql = base_db_tools::getInsertSQL($rs, $data);
     $this->db->exec($sql);
 }
Example #2
0
 public function insert($data)
 {
     foreach ($data as $k => $v) {
         if (is_array($v)) {
             $data[$k] = serialize($v);
         }
     }
     $sql = base_db_tools::getInsertSQL($this->table, $data);
     $this->db->exec($sql);
 }
Example #3
0
 function insert($data)
 {
     $rs = $this->db->exec('select * from ' . $this->table . ' where 0=1');
     foreach ($data as $k => $v) {
         if (is_array($v)) {
             $data[$k] = serialize($v);
         }
     }
     $sql = base_db_tools::getInsertSQL($rs, $data);
     $this->db->exec($sql);
 }
Example #4
0
 public function insert($data)
 {
     if ($this->table == 'vmc_dbeav_meta_value_int' && $data['value'] === '') {
         return;
     }
     // $data['value'] =0;
     if ($this->table == 'vmc_dbeav_meta_value_decimal' && $data['value'] === '') {
         return;
     }
     // $data['value'] ='0.0000';
     $sql = base_db_tools::getInsertSQL($this->table, $data);
     $this->db->exec($sql);
 }
Example #5
0
 static function getupdatesql(&$rs, $data, $InsertIfNoResult = false, $insertData = null, $ignore = false)
 {
     $db = kernel::database();
     if (!is_resource($rs['rs'])) {
         trigger_error('GetUpdateSQL: ' . $rs['sql'] . ' error ', E_USER_ERROR);
     }
     @mysql_data_seek($rs['rs'], 0);
     $row = mysql_fetch_assoc($rs['rs']);
     if ($InsertIfNoResult && !$row) {
         return self::getinsertsql($rs, $data);
     }
     if (preg_match('/FROM\\s+([]0-9a-z_:"`.@[-]*)/is', $rs['sql'], $tableName)) {
         $tableName = $tableName[1];
     }
     if (is_object($data)) {
         $data = get_object_vars($data);
     }
     foreach ($data as $key => $value) {
         $data[strtolower($key)] = $value;
     }
     $UpdateValues = array();
     $col_count = mysql_num_fields($rs['rs']);
     for ($i = 0; $i < $col_count; $i++) {
         $column = mysql_fetch_field($rs['rs'], $i);
         if (array_key_exists($column->name, $data) && ($ignore || $data[$column->name] !== $row[$column->name] || $column->type == 'bool')) {
             if (is_array($data[$column->name]) || is_object($data[$column->name])) {
                 if (serialize($data[$column->name]) == $row[$column->name]) {
                     continue;
                 }
             }
             $UpdateValues[] = '`' . $column->name . '`=' . self::quotevalue($db, $data[$column->name], $column->type);
         }
     }
     mysql_field_seek($rs['rs'], 0);
     if (count($UpdateValues) > 0) {
         $whereClause = base_db_tools::db_whereClause($rs['sql']);
         $UpdateValues = implode(',', $UpdateValues);
         $sql = 'UPDATE ' . $tableName . ' SET ' . $UpdateValues;
         if (strlen($whereClause) > 0) {
             $sql .= ' WHERE ' . $whereClause;
         }
         return $sql;
     } else {
         return '';
     }
 }
Example #6
0
 public function quick_update()
 {
     $this->begin('index.php?app=b2c&ctl=admin_stock&act=index');
     $params = $_POST;
     if (!$params['stock_id']) {
         $this->end(false);
     }
     $stock_id = $params['stock_id'];
     unset($params['stock_id']);
     foreach ($params as $key => $value) {
         if (!in_array($key, array('stock_id', 'quantity', 'freez_quantity'))) {
             unset($params[$key]);
         }
     }
     $mdl_stock = app::get('b2c')->model('stock');
     $update_sql = base_db_tools::getupdatesql($mdl_stock->table_name(1), $params, " stock_id={$stock_id}");
     $this->end($mdl_stock->db->exec($update_sql, true));
 }
Example #7
0
 public function update_stock($filter, $col, $nums = 0, $operation, &$msg)
 {
     $where = base_db_tools::filter2sql($filter);
     $op_map = array('plus' => '+', 'minus' => '-', 'multiple' => '*');
     if ($op_map[$operation] == '-') {
         $exist_stock = app::get('b2c')->model('stock')->getRow($col, $filter);
         if ($exist_stock[$col] <= 0) {
             return true;
         }
     }
     if ($operation) {
         $set = $col . $op_map[$operation] . (string) intval($nums);
     } else {
         $set = $nums ? $nums : 0;
     }
     $SQL_update = "UPDATE `vmc_b2c_stock` SET {$col} = {$set},last_modify=UNIX_TIMESTAMP(CURRENT_TIMESTAMP)  WHERE {$where}";
     if (!vmc::database()->exec($SQL_update, true)) {
         $msg = '异常';
         return false;
     }
     $msg = '操作成功';
     return true;
 }
Example #8
0
 public function quick_update()
 {
     $this->begin('index.php?app=b2c&ctl=admin_pages_content&act=index');
     $params = $_POST;
     if (!$params['content_id']) {
         $this->end(false);
     }
     $content_id = $params['content_id'];
     unset($params['content_id']);
     foreach ($params as $key => $value) {
         if (!in_array($key, array('content_id', 'ordernum', 'status'))) {
             unset($params[$key]);
         }
     }
     $update_sql = base_db_tools::getupdatesql($this->mContent->table_name(1), $params, " content_id={$content_id}");
     $this->end($this->mContent->db->exec($update_sql, true));
 }
Example #9
0
 public function update($data, $filter, $mustUpdate = null)
 {
     if (count((array) $data) == 0) {
         return true;
     }
     $UpdateValues = array();
     foreach ($this->_columns() as $k => $v) {
         if (!empty($mustUpdate)) {
             if (!array_key_exists($k, $mustUpdate)) {
                 continue;
             } else {
                 unset($mustUpdate[$k]);
             }
         }
         if (array_key_exists($k, $data)) {
             $UpdateValues[] = '`' . $k . '`= ' . base_db_tools::quotevalue($this->db, $data[$k], $v['type']);
         }
         if ($data[$k] !== false) {
             if ($v['type'] == 'last_modify') {
                 $UpdateValues[] = '`' . $k . '` = ' . time() . ' ';
                 //     $data[$k] = time();
             } elseif ($v['depend_col']) {
                 $dependColVal = explode(':', $v['depend_col']);
                 if ($data[$dependColVal[0]] == $dependColVal[1]) {
                     switch ($dependColVal[2]) {
                         case 'now':
                             $UpdateValues[] = '`' . $k . '` = ' . time() . ' ';
                             //                                $data[$k] = time();
                             break;
                     }
                 }
             }
         }
     }
     if (!empty($mustUpdate)) {
         foreach ($mustUpdate as $mpk => $mpv) {
             $UpdateValues[] = '`' . $mpk . '`= NULL';
         }
     }
     if (count($UpdateValues) > 0) {
         $sql = 'update ' . $this->table_name(1) . ' set ' . implode(',', $UpdateValues) . ' where ' . base_db_tools::filter2sql($filter);
         if ($this->db->exec($sql)) {
             if ($rs = $this->db->affect_row()) {
                 return $rs;
             } else {
                 return true;
             }
         } else {
             return false;
         }
     }
 }
Example #10
0
 public function update($data, $filter = array(), $mustUpdate = null)
 {
     if (count((array) $data) == 0) {
         return true;
     }
     $UpdateValues = array();
     foreach ($this->_columns() as $k => $v) {
         if (!empty($mustUpdate)) {
             if (!array_key_exists($k, $mustUpdate)) {
                 continue;
             } else {
                 unset($mustUpdate[$k]);
             }
         }
         //如果是必填,那么参数如果是空则使用默认
         if ($v['required'] && array_key_exists($k, $data) && ($data[$k] === '' || is_null($data[$k]))) {
             unset($data[$k]);
         }
         if (array_key_exists($k, $data)) {
             $UpdateValues[] = '`' . $k . '`= ' . base_db_tools::quotevalue($this->db, $data[$k], $v['type']);
         }
         if ($data[$k] !== false) {
             if ($v['type'] == 'last_modify') {
                 $UpdateValues[] = '`' . $k . '` = ' . time() . ' ';
             } elseif (isset($v['depend_col']) && !empty($v['depend_col'])) {
                 $dependColVal = explode(':', $v['depend_col']);
                 if ($data[$dependColVal[0]] == $dependColVal[1]) {
                     switch ($dependColVal[2]) {
                         case 'now':
                             $UpdateValues[] = '`' . $k . '` = ' . time() . ' ';
                             break;
                     }
                 }
             }
         }
     }
     if (!empty($mustUpdate)) {
         foreach ($mustUpdate as $mpk => $mpv) {
             $UpdateValues[] = '`' . $mpk . '`= NULL';
         }
     }
     $where_sql = is_array($filter) ? base_db_tools::filter2sql($filter) : $filter;
     $sql = 'update `' . $this->table_name(1) . '` set ' . implode(',', $UpdateValues) . ' where ' . $where_sql;
     if (!stripos($where_sql, 'AND')) {
         logger::warning('全表更新操作被拦截!SQL:' . $sql);
         return false;
     }
     if (count($UpdateValues) > 0) {
         return $this->db->exec($sql, $this->skipModifiedMark);
     }
 }
Example #11
0
 public function quick_update()
 {
     $this->begin('index.php?app=b2c&ctl=admin_pages_position&act=index');
     $params = $_POST;
     if (!$params['position_id']) {
         $this->end(false);
     }
     $position_id = $params['position_id'];
     unset($params['position_id']);
     foreach ($params as $key => $value) {
         if (!in_array($key, array('position_id', 'ordernum'))) {
             unset($params[$key]);
         }
     }
     $mPostion = app::get('b2c')->model('pages_position');
     $update_sql = base_db_tools::getupdatesql($this->mPosition->table_name(1), $params, " position_id={$position_id}");
     $this->end($this->mPosition->db->exec($update_sql, true));
 }