diff --git a/library/think/db/Query.php b/library/think/db/Query.php index b6719410..95213988 100644 --- a/library/think/db/Query.php +++ b/library/think/db/Query.php @@ -776,8 +776,13 @@ class Query $fields[] = $alias . '.' . $val; $this->options['map'][$val] = $alias . '.' . $val; } else { - $fields[] = $alias . '.' . $key . ' AS ' . $val; - $this->options['map'][$val] = $alias . '.' . $key; + if (preg_match('/[,=\.\'\"\(\s]/', $key)) { + $name = $key; + } else { + $name = $alias . '.' . $key; + } + $fields[] = $name . ' AS ' . $val; + $this->options['map'][$val] = $name; } } }