diff --git a/library/think/db/Builder.php b/library/think/db/Builder.php index 9872c815..905a6905 100644 --- a/library/think/db/Builder.php +++ b/library/think/db/Builder.php @@ -100,8 +100,13 @@ abstract class Builder $result[$item] = 'NULL'; } elseif (is_scalar($val)) { // 过滤非标量数据 - $this->query->bind($key, $val, isset($bind[$key]) ? $bind[$key] : PDO::PARAM_STR); - $result[$item] = ':' . $key; + if ($this->query->isBind(substr($val, 1))) { + $result[$item] = $val; + } else { + $this->query->bind($key, $val, isset($bind[$key]) ? $bind[$key] : PDO::PARAM_STR); + $result[$item] = ':' . $key; + } + } } }