sqlite写入数据错误(获取表的基本信息代码有误)

浏览:790 发布日期:2014/12/31
3.2.3 - 严重 - 已处理
ThinkPHP\Library\Think\Db\Driver\Sqlite.class.php 36行
修改如下: if($result){
            foreach ($result as $key => $val) {
                $info[$val['name']] = array(
                    'name'    => $val['name'],
                    'type'    => $val['type'],
                    'notnull' => (bool) ($val['notnull'] === '1'), // not null is empty, null is yes
                    'default' => $val['default'],
                    'primary' => (strtolower($val['dflt_value']) == 'pri'),
                    'autoinc' => (strtolower($val['extra']) == 'auto_increment'),//此句没啥用
                );
            }
原因
sqlite语句:PRAGMA table_info (表名) 输出:
而不是: $info[$val['field']] = array(
                    'name'    => $val['field'],
                    'type'    => $val['type'],
                    'notnull' => (bool) ($val['null'] === ''), // not null is empty, null is yes
                    'default' => $val['default'],
                    'primary' => (strtolower($val['dey']) == 'pri'),
                    'autoinc' => (strtolower($val['extra']) == 'auto_increment'),
评论(
后面还有条评论,点击查看>>