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); }
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); }
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); }
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); }
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 ''; } }
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)); }
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; }
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)); }
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; } } }
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); } }
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)); }