echo404
V2EX  ›  PHP

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

  •  
  •   echo404 · Sep 5, 2017 · 3840 views
    This topic created in 3193 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Sep 6, 2017
    经过查找发现,tp5 使用 pdo 连接数据库时,将 PDO::ATTR_EMULATE_PREPARES 属性默认设置为 false,这个导致了查询语句查询 longtext 字段的数据时,数据被截断。 而且此情况只发生在 LNMP 环境下,WAMP 环境下可以正常使用 tp 查询类。请问有大神知道发生这种情况的原因么
    4 replies    2017-09-06 12:00:52 +08:00
    linpf
        1
    linpf  
       Sep 5, 2017
    你说的使用原生代码,是指使用了 mysql_query 函数吗?还是使用了 pdo。
    U7Q5tLAex2FI0o0g
        2
    U7Q5tLAex2FI0o0g  
       Sep 5, 2017
    没用过 TP。
    进入源码调试一下是在哪一个地方截断的?
    echo404
        3
    echo404  
    OP
       Sep 6, 2017
    @linpf 直接使用 mysqli 函数进行查询
    echo404
        4
    echo404  
    OP
       Sep 6, 2017
    @littleylv 进入源码看了一下,在 pdo 执行查询操作时,查出来的直接就是被截断的数据
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5911 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 02:54 · PVG 10:54 · LAX 19:54 · JFK 22:54
    ♥ Do have faith in what you're doing.