首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  PHP

mysql 一个非常奇怪的问题

  •  
  •   JasonTsang · 120 天前 · 2118 次点击
    这是一个创建于 120 天前的主题,其中的信息可能已经有所发展或是发生改变。

    mysql 版本 5.7 程序框架:thinkphp5

    问题描述:

    插入数据库 在数据库中已看到这条数据 ,而且在数据库管理软件中 能查询得到。但在 TP5 中 查询不了这条数据。但用数据库软件插入的数据 在 TP5 中却能查询

    换句话说 插入的时候 ,数据库中有数据,但 TP5 无法查询这条数据

    11 回复  |  直到 2019-07-15 11:31:34 +08:00
        1
    ob   120 天前 via Android
    缓存?
        2
    bsns   120 天前
    接楼上,flush 一下试试?
        3
    qiayue   120 天前
    事务没提交
        4
    whoami9894   120 天前 via Android
    把 tp5 的缓存目录删了再查
        5
    akira   120 天前
    连的不是同一个库?
        6
    xd314697475   120 天前
    缓存模式关掉

    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   120 天前
    你能手动查到这条数据,那就不可能是数据库的问题,
    可能性必然在应用层:基本上就是缓存问题,
    看服务端返回,6 楼说法应该可以解决你的问题了
    如果服务端也是正常的,那么就是前端的问题了,
    比较初级,
    估计已搞定
        8
    niaobulashi   120 天前
    commit 或者 rollback 一下
        9
    wyieeLu   120 天前
    尝试一下提交事务
        10
    gouchaoer   119 天前 via Android
    单步调试?
        11
    gouchaoer   119 天前 via Android
    xdebug
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4122 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 03:21 · PVG 11:21 · LAX 19:21 · JFK 22:21
    ♥ Do have faith in what you're doing.