mysql 版本 5.7 程序框架:thinkphp5
问题描述:
插入数据库 在数据库中已看到这条数据 ,而且在数据库管理软件中 能查询得到。但在 TP5 中 查询不了这条数据。但用数据库软件插入的数据 在 TP5 中却能查询
换句话说 插入的时候 ,数据库中有数据,但 TP5 无法查询这条数据
![]() | 1 ob 2019-07-14 22:20:19 +08:00 via Android 缓存? |
![]() | 2 bsns 2019-07-14 22:21:31 +08:00 接楼上,flush 一下试试? |
![]() | 3 qiayue PRO 事务没提交 |
![]() | 4 whoami9894 2019-07-14 22:54:36 +08:00 via Android 把 tp5 的缓存目录删了再查 |
![]() | 5 akira 2019-07-14 23:01:37 +08:00 连的不是同一个库? |
6 xd314697475 2019-07-14 23:49:12 +08:00 缓存模式关掉 thinkphp 会默认打开模板缓存, debug.php 'TMPL_CACHE_ON'=>false, // 默认开启模板缓存 convention.php 'TMPL_CACHE_ON' => false, // 默认开启模板编译缓存 false 的话每次都重新编译模板 'ACTION_CACHE_ON' => false, // 默认关闭 Action 缓存 'HTML_CACHE_ON' => false, // 默认关闭静态缓存 还有一个查询缓存,在设置的缓存有效期之内不会再次进行数据库查询操作,而是直接获取缓存中的数据 解决方法:不要用下面的 cache 或者把 cache 时间改短 Db::table('think_user')->where('id=5')->cache(true)->find(); 如何把这些全关了 debug.php APP_DEBUG=>true DB_FIELD_CACHE=>false HTML_CACHE_ON=>false |
![]() | 7 ckylolo 2019-07-14 23:56:21 +08:00 你能手动查到这条数据,那就不可能是数据库的问题, 可能性必然在应用层:基本上就是缓存问题, 看服务端返回,6 楼说法应该可以解决你的问题了 如果服务也是正常的,那么就是前端的问题了, 比较初级, 估计已搞定 |
8 niaobulashi 2019-07-15 09:53:04 +08:00 commit 或者 rollback 一下 |
![]() | 9 wyieeLu 2019-07-15 10:01:52 +08:00 尝试一下提交事务 |
![]() | 10 gouchaoer 2019-07-15 11:31:27 +08:00 via Android 单步调试? |
![]() | 11 gouchaoer 2019-07-15 11:31:34 +08:00 via Android xdebug |