| | |
| | | <?php |
| | | |
| | | /* |
| | | * $Author :PHPYUN开发团队 |
| | | * |
| | | * 官网: http://www.phpyun.com |
| | | * |
| | | * 版权所有 2009-2021 宿迁鑫潮信息技术有限公司,并保留所有权利。 |
| | | * |
| | | * 软件声明:未经授权前提下,不得用于商业运营、二次开发以及任何形式的再次发布。 |
| | | */ |
| | | |
| | | class model { |
| | | // 操作状态 |
| | |
| | | protected function _initialize() { |
| | | } |
| | | |
| | | function get_table_fields($tableName) { |
| | | include(CONFIG_PATH . 'db.config.php'); |
| | | $mysqli = new mysqli($db_config['dbhost'], $db_config['dbuser'], $db_config['dbpass'], $db_config['dbname']); |
| | | $query = $mysqli->query("SHOW COLUMNS FROM $tableName"); |
| | | $tableFields = array(); |
| | | while ($row = $query->fetch_assoc()) { |
| | | $tableFields[] = $row['Field']; |
| | | } |
| | | return $tableFields; |
| | | } |
| | | |
| | | |
| | | function insert_into($table, $data = array()) { |
| | | |
| | | |
| | | $value = array(); |
| | | |
| | | $this->db->connect(); |
| | | include(PLUS_PATH . 'dbstruct.cache.php'); |
| | | $TableFullName = $this->def . $table; |
| | | if (is_array($$TableFullName)) { |
| | | $fields = array_keys($$TableFullName); |
| | | } else { |
| | | $fields = $this->get_table_fields($TableFullName); |
| | | if (!$fields) { |
| | | return FALSE; |
| | | } |
| | | |
| | | if (is_array($fields)) { |
| | | |
| | | if (is_array($data)) { |
| | | foreach ($data as $key => $v) { |
| | | if (in_array($key, $fields)) { |
| | | $v = $this->FilterStr($v); |
| | | $value[] = "`" . $key . "`='" . $this->db->escape_string($v) . "'"; |
| | | } |
| | | } |
| | | if (!is_array($data)) { |
| | | return FALSE; |
| | | } |
| | | foreach ($data as $key => $v) { |
| | | if (in_array($key, $fields)) { |
| | | $v = $this->FilterStr($v); |
| | | $value[] = "`" . $key . "`='" . $this->db->escape_string($v) . "'"; |
| | | } |
| | | } |
| | | |
| | | $value = @implode(",", $value); |
| | | if (!$value) { |
| | | return FALSE; |
| | | } |
| | | return $this->DB_insert_once($table, $value); |
| | | } |
| | | |
| | |
| | | $this->db->connect(); |
| | | $value = array(); |
| | | include(PLUS_PATH . 'dbstruct.cache.php'); |
| | | // $TableFullName=$this->def.$table; |
| | | // var_dump($$TableFullName);exit(); |
| | | $TableFullName = $this->def . $table; |
| | | $fields = $this->get_table_fields($TableFullName); |
| | | if (!is_array($data) || !is_array($where)) { |
| | | return FALSE; |
| | | } |
| | | if (!$fields) { |
| | | return FALSE; |
| | | } |
| | | |
| | | // var_dump($$TableFullName);exit(); |
| | | // if (is_array($where)) { |
| | | // $fields = array_keys($where); |
| | | // } else { |
| | |
| | | // var_dump($fields);exit(); |
| | | |
| | | |
| | | if (is_array($data)) { |
| | | |
| | | foreach ($data as $key => $v) { |
| | | foreach ($data as $key => $v) { |
| | | if (!in_array($key, $fields)) { |
| | | continue; |
| | | } |
| | | if (is_array($v)) { |
| | | |
| | | if (is_array($v)) { |
| | | if ($v[0] == '+') { |
| | | |
| | | if ($v[0] == '+') { |
| | | $value[] = '`' . $key . '` = `' . $key . '` + ' . $this->db->escape_string($v[1]); |
| | | } elseif ($v[0] == '-') { |
| | | |
| | | $value[] = '`' . $key . '` = `' . $key . '` - ' . $this->db->escape_string($v[1]); |
| | | |
| | | } else if ($v[0] == '=') { |
| | | |
| | | $value[] = '`' . $key . '` = ' . $this->db->escape_string($v[1]); |
| | | |
| | | |
| | | } elseif ($v[0] == 'CASE') { |
| | | |
| | | |
| | | $casesql = '`' . $key . '` = CASE `' . $this->db->escape_string($v[1]) . '`'; |
| | | |
| | | foreach ($v[2] as $ck => $cv) { |
| | | |
| | | $value[] = '`' . $key . '` = `' . $key . '` + ' . $this->db->escape_string($v[1]); |
| | | } elseif ($v[0] == '-') { |
| | | |
| | | $value[] = '`' . $key . '` = `' . $key . '` - ' . $this->db->escape_string($v[1]); |
| | | |
| | | } else if ($v[0] == '=') { |
| | | |
| | | $value[] = '`' . $key . '` = ' . $this->db->escape_string($v[1]); |
| | | |
| | | |
| | | } elseif ($v[0] == 'CASE') { |
| | | |
| | | |
| | | $casesql = '`' . $key . '` = CASE `' . $this->db->escape_string($v[1]) . '`'; |
| | | |
| | | foreach ($v[2] as $ck => $cv) { |
| | | |
| | | $casesql .= " WHEN '" . $ck . "' THEN '" . $this->db->escape_string($cv) . "' "; |
| | | } |
| | | |
| | | $casesql .= 'END'; |
| | | |
| | | $value[] = $casesql; |
| | | } elseif ($v[0] == 'DATE_ADD') { |
| | | |
| | | $value[] = '`' . $key . '` = DATE_ADD(`' . $key . '` , INTERVAL ' . $this->db->escape_string($v[1]) . ' DAY )'; |
| | | |
| | | } elseif ($v[0] == 'concat') { |
| | | |
| | | $value[] = '`' . $key . '` = concat(`' . $key . '` , ",' . $this->db->escape_string($v[1]) . ' ")'; |
| | | } else { |
| | | |
| | | $this->db->show_error(); |
| | | $casesql .= " WHEN '" . $ck . "' THEN '" . $this->db->escape_string($cv) . "' "; |
| | | } |
| | | |
| | | $casesql .= 'END'; |
| | | |
| | | $value[] = $casesql; |
| | | } elseif ($v[0] == 'DATE_ADD') { |
| | | |
| | | $value[] = '`' . $key . '` = DATE_ADD(`' . $key . '` , INTERVAL ' . $this->db->escape_string($v[1]) . ' DAY )'; |
| | | |
| | | } elseif ($v[0] == 'concat') { |
| | | |
| | | $value[] = '`' . $key . '` = concat(`' . $key . '` , ",' . $this->db->escape_string($v[1]) . ' ")'; |
| | | } else { |
| | | |
| | | $v = $this->FilterStr($v); |
| | | |
| | | $value[] = "`" . $key . "`='" . $this->db->escape_string($v) . "'"; |
| | | $this->db->show_error(); |
| | | } |
| | | |
| | | } else { |
| | | |
| | | $v = $this->FilterStr($v); |
| | | |
| | | $value[] = "`" . $key . "`='" . $this->db->escape_string($v) . "'"; |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | include(PLUS_PATH . 'dbstruct.cache.php'); |
| | | $TableFullName = $this->def . $tablename; |
| | | /////获取表的字段 |
| | | |
| | | if (!isset($$TableFullName)) { |
| | | $this->error = '表结构缓存文件不存在'; |
| | | return FALSE; |
| | | } |
| | | |
| | | if (is_array($$TableFullName)) { |
| | | $fieldsArr = array_keys($$TableFullName); |
| | | } |