/** * 执行插入数据操作 * * @param <string> $table 数据库表名称 * @param <array|stdClass> $data 待更新的数据 * @param <array> $fields 数据库字段,默认为 null。 为空时取 $data的 keys * @return 成功 true; 失败 false */ public static function insert($table, $data, $fields = null) { if ($fields == null) { //考虑到多条插入数据的可能性 foreach ($data as $v) { if (is_array($v)) { $fields = array_keys($v); } elseif (is_object($v)) { foreach ($v as $k2 => $v2) { $fields[] = $k2; } } elseif (is_array($data)) { $fields = array_keys($data); } elseif (is_object($data)) { foreach ($data as $k2 => $v2) { $fields[] = $k2; } } break; } } $_fields = '`' . implode('`, `', $fields) . '`'; $_data = self::formatInsertData($data); self::$isInsertId = true; return self::query("INSERT INTO `{$table}` ({$_fields}) VALUES {$_data}"); }