教你檢查并輸出Thinkphp sql查詢語句 查看具體錯在哪里
首選要找到Thinkphp\Core\Library\Think\Db\Driver.class.php 用專業(yè)工具打開
找到 query函數(shù),在if($fetchSql){前面加上一行 if(isset($GLOBALS["echosql"])){ echo $this->queryStr;}改成如下 public function query($str,$fetchSql=false) { $this->initConnect(false); if ( !$this->_linkID ) return false; $this->queryStr = $str; if(!empty($this->bind)){ $that = $this; $this->queryStr = strtr($this->queryStr,array_map(function($val) use($that){ return '\''.$that->escapeString($val).'\''; },$this->bind)); }if(isset($GLOBALS["echosql"])){unset($GLOBALS["echosql"]); echo $this->queryStr;} if($fetchSql){ return $this->queryStr; } 。。。。。。。。。。。。。。。。。。 。。。。。。。。。。。。。。。。。。 如想要輸出sql就在控制器 程序里寫上$GLOBALS["echosql"]=1;//就是多加這行$user=M("user");$result = $user->where($where)->find(); exit();你就可以看到他輸出的完整提示的,而不是thinkphp不完整的錯誤提示