TP-常见错误1
1、无法加载模块
FILE: D:\wamp64\www\www.test_shop.com\ThinkPHP\Library\Think\Dispatcher.class.php LINE: 178
到/Common/config.php文件,添加以下
'MODULE_ALLOW_LIST' => array('Home','Admin'),
2、系统常量无法读取,输出原型,如:__PUBLIC__、__APP__等
加上U方法:U(__APP__),实在不行只能硬编码绝对路径了
或者在/Common/Conf/config.php中自定义常量
'TMPL_PARSE_STRING' =>array('__PUB__' => '/Public/', )// 更改默认的/Public 替换规则
存在不正规域名导致解释错误的可能
3、大文本字段需要使用全文索引,但是MYSQL中全文索引不支持中文 ,我们以后会学习SPHINX【全文索引引擎】来优化根据大文本字段查询数据的速度。
4、无法加载控制器
无法加载控制器:Goods
错误位置
FILE: E:\wwwroot\bierte\ThinkPHP\Library\Think\App.class.php LINE: 101
可能:1、复制文件后,没把class xxxxController 改为class GoodsController;
2、文件名xxxxController.class.php没改为GoodsController.class.php,还可能是输入文件名时多了空格GoodsController.class .php
5、MySQL在插入数据时提示: Data truncated for column '
这是插入的数据不合法造成的,可能是乱码、超出字段长度、非法字符等。
解决乱码: show variables like 'character%'; 来查看当前数据库的相关编码集。set names XXX;使传入字符编码集与系统本身编码集相同
详细请参考:http://www.cnblogs.com/sunzn/archive/2013/03/14/2960248.html
{enum('是','否')}:中文无法插入,页面显示为中文,提交数据包中中文为乱码—>enum('1','0')
6、统一编码
- html头:<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
- PHP编辑器:格式->编码
- mysql数据库:show variables like 'character%'; set names XXX;
7、mysql数据库5.7.14中datetime类型默认会保留小数点后4位即:2017-06-02 19:18:44.0000
可通过数据库语句:ALTER TABLE p39_goods MODIFY addtime datetime(0); 2017-06-02 19:18:44
8、在thinkphp中,使用多表查询时,经常会使用到别名,而有时候在一个功能里面会出现使用到两次$where[],若在第二次$where[]时才开始使用表别名,修改了前面的接收变量后,则在第一次使用$where[]中就会出现数据库查询错误
例如:搜索功能【接收表单数据->翻页功能->取某页数据功能】
在接收表单数据时,$where数组中就使用别名连接字段
如果先在取数据代码中加了别名,在翻页处没加
就会出现如下错误
所以则在翻页的代码处,加上别名