php中的pdo链接sql server数据库,在查询一条详细新闻信息时,如果在数据库中新闻信息很长,
查询得到的结果集决只有一部分,得到的新闻信息不全?那位大哥遇到过这样的问题.有什么方法可以解决吗?????

解决方案 »

  1.   

    数据库操作类:
    function conn($type, $host, $dbname, $name, $pass) {
    try {
    $dbpdo = new PDO ( "$type:host=$host;dbname=$dbname", $name, $pass );
    $dbpdo->exec("SET NAMES 'utf-8'");
    set_time_limit(300);
    return $dbpdo;
    } catch ( PDOException $e ) {
    $e->getMessage ();
    }
    }

    function query($sql) {
    $result=$this->dbpdo->query($sql);
    $arr = array ();
    foreach ( $result as $key => $row ) {
    foreach ( $row as $k => $r ) {
    if (is_string ( $k )) {
    $arr [$key] [$k] = $r;
    }
    }
    }
    return $arr;
    }执行数据库类中的代码:
    $sql = "select Title,Content as description,convert(char,UcreateTime,120) as pubdate from $this->table where idd=$idd";
    return $this->db->query ( $sql );
      

  2.   

     $result=$this->dbpdo->query($sql);
    这句摸不着头脑了,你是调用PDO的query(),还是调用你自己写的query()函数,如果数据只取了一部分,我估计和这个有关.换个函数名试试!
      

  3.   

    我写的上面是一个数据库的操作类 ,
    就在这个页面中定义了变量$dbpdo,
    $this->dbpdo->query($sql)主要是该类中的一个方法
    相当于封装了一下PDO的query()函数
      

  4.   

    我知道.$dbpdo = new PDO ( "$type:host=$host;dbname=$dbname", $name, $pass );$dbpdo已经是一个对象,$this->dbpdo->query($sql)你是调用PDO对象的query()方法,还是调用你 自己写的query()方法呢!
      

  5.   

    修改php.ini中; Valid range 0 - 2147483647.  Default = 4096.
    mssql.textlimit = 你需要的大小; Valid range 0 - 2147483647.  Default = 4096.
    mssql.textsize = 你需要的大小
      

  6.   

    看一下你的内容  有时候内容不正确会断掉的 只得到一部分有没有换行 特殊符号 等 
    还有你的Content 类型简单的测试方法是在库里存一个相同长度的 纯字母的字符串 看看能不能全取出来 能的话就说明是你存储的内容里有问题了
      

  7.   

    特殊符号就为html的标签,换行是有得,
    但是我也能够把它前面的内容取出来啊 ,前面的内容中就有这些html标签和换行.
    content类型为text类型