3.2.3 - 致命 - 未处理
本人邮箱:147991766@qq.compostgresql版本9.4.1
============================================
PostgreSQL默认是不带table_msg函数的。在数据库中建立该方法后还是有错误(错误信息在分割线以下),后来经过排查需要修改Think\Db\Driver下的pgsql类中的getFields方法通过转义符把单引号添加进去就好了
$result = $this->query('select fields_name as "field",fields_type as "type",fields_not_null as "null",fields_key_name as "key",fields_default as "default",fields_default as "extra" from table_msg(\''.$tableName.'\');');
======================分割线===================
SQLSTATE[42703]: Undefined column: 7 错误: 字段 "gl_auth_rule" 不存在 LINE 1: ...default",fields_default as "extra" from table_msg(gl_auth_ru... ^
错误位置
FILE: D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Db\Driver.class.php LINE: 169
TRACE
#0 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Db\Driver.class.php(169): PDOStatement->execute()
#1 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Db\Driver\Pgsql.class.php(41): Think\Db\Driver->query('select fields_n...')
#2 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Model.class.php(134): Think\Db\Driver\Pgsql->getFields('gl_auth_rule')
#3 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Model.class.php(122): Think\Model->flush()
#4 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Model.class.php(1434): Think\Model->_checkTableInfo()
#5 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Model.class.php(97): Think\Model->db(0, '', true)
#6 D:\xampp\htdocs\PlaceName\ThinkPHP\Common\functions.php(621): Think\Model->__construct('gl_auth_rule', '', '')
#7 D:\xampp\htdocs\PlaceName\Application\Admin\Controller\IndexController.class.php(15): M('gl_auth_rule')
#8 [internal function]: Admin\Controller\IndexController->index()
#9 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\App.class.php(164): ReflectionMethod->invoke(ob
#10 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\App.class.php(202): Think\App::exec()
#11 D:\xampp\htdocs\PlaceName\ThinkPHP\Library\Think\Think.class.php(120): Think\App::run()
#12 D:\xampp\htdocs\PlaceName\ThinkPHP\ThinkPHP.php(97): Think\Think::start()
#13 D:\xampp\htdocs\PlaceName\index.php(27): require('D:\\xampp\\htdocs...')
#14 {main}
