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

使用 TP5 内置的数据库操作方法获取 mysql 中 longtext 字段的数据时,数据被截断,而使用原生代码进行操作时,可以将数据全部取出

  •  
  •   echo404 · 2017-09-05 17:11:12 +08:00 · 3419 次点击
    这是一个创建于 2664 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,求大佬解答一下原因

    第 1 条附言  ·  2017-09-06 14:07:10 +08:00
    经过查找发现,tp5 使用 pdo 连接数据库时,将 PDO::ATTR_EMULATE_PREPARES 属性默认设置为 false,这个导致了查询语句查询 longtext 字段的数据时,数据被截断。 而且此情况只发生在 LNMP 环境下,WAMP 环境下可以正常使用 tp 查询类。请问有大神知道发生这种情况的原因么
    4 条回复    2017-09-06 12:00:52 +08:00
    linpf
        1
    linpf  
       2017-09-05 18:43:57 +08:00
    你说的使用原生代码,是指使用了 mysql_query 函数吗?还是使用了 pdo。
    littleylv
        2
    littleylv  
       2017-09-05 18:45:52 +08:00
    没用过 TP。
    进入源码调试一下是在哪一个地方截断的?
    echo404
        3
    echo404  
    OP
       2017-09-06 10:01:25 +08:00
    @linpf 直接使用 mysqli 函数进行查询
    echo404
        4
    echo404  
    OP
       2017-09-06 12:00:52 +08:00
    @littleylv 进入源码看了一下,在 pdo 执行查询操作时,查出来的直接就是被截断的数据
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2845 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 67ms · UTC 09:19 · PVG 17:19 · LAX 01:19 · JFK 04:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.