我要MSSQL的数据转到MYSQL里,但是遇到一个很奇怪的问题,在MSSQL的buyok_produc表中的MemoSpec字段中,他的值是这样的:<FONT face=Verdana><FONT face=Verdana>&nbsp; <FONT face=Verdana><FONT color=#000000><FONT color=#f70909><BR>*尺 寸 说 明</FONT> </FONT><FONT face=Verdana><FONT face=Verdana><FONT color=#000000><FONT face=Verdana><FONT color=#0f4c0f><FONT color=#000000><p>衣长53CM&nbsp;&nbsp;胸围92cm&nbsp; 袖长58cm&nbsp;&nbsp; 肩宽42</p><p></FONT>33.33cm=1尺 </p><p><HR><p></p>
<p><BR><IMG src="/pic/digi/20089292417665.jpg" border=0></p><p><IMG src="/pic/digi/20089292434790.jpg" border=0></p><p><IMG src="/pic/digi/20089292737708.jpg" border=0></p><p><HR><BR><HR>
<BR><IMG src="/pic/digi/20089292812114.jpg" border=0><p></p>
<p><IMG src="/pic/digi/20089293710532.jpg" border=0></p></FONT></FONT></FONT></FONT></FONT></FONT></FONT></FONT>。但是我用MSSQL查询器和PHP的程序读出来后,其结果却是:<FONT face=Verdana><FONT face=Verdana>&nbsp; <FONT face=Verdana><FONT color=#000000><FONT color=#f70909><BR>*尺 寸 说 明</FONT> </FONT><FONT face=Verdana><FONT face=Verdana><FONT color=#000000><FONT face=Verdana><FONT color=#0f4c0f><FONT color=#000000><p>,请高手帮忙,很急,搞了很多天了!

解决方案 »

  1.   

    程序如下:
    $conn = mssql_connect($hostname,$dbuser,$dbpasswd); //连接MSSQL 
    mssql_select_db($dbname); /*连接要访问的数据库 这里也可以写做 $db=mssql_select_db($dbname,$conn); */ 
    $sql = "select top 1 * from buyok_produc"; //sql语句
    //echo $sql;
    $data = mssql_query($sql); //把查询的值集合在变量$data 
    while($Arr = mssql_fetch_object($data)) //循环初始的集合$Arr 
    {
    echo $Arr->MemoSpec."<br>";
    }
      

  2.   

    "在MSSQL的buyok_produc表中的MemoSpec字段中,他的值是这样的"------但是我用MSSQL查询器和PHP的程序读出来后这是不是矛盾?
    -----------
    如果是转后字符串被截了,是不是MYSQL字段的长度不够?
      

  3.   

    看看PHP配置文件 mssql.textlimit 设置有没有问题。
      

  4.   

    将MYSQL 数据库字段换成TEXT,MYSQL 5.12以上可以用VARCHAR(1000)试试 ,入库时将字段用mysql_escape_string转换一下
      

  5.   

    没有,MYSQL里的字段是TEXT类型的,上面的疑问,我也有啊,可查询出来就是这样的!
      

  6.   

    在php/php.ini里找到
    mssql.textsize =
    看是不是这后面的值太小了的原因
      

  7.   

    mssql.textsize 2147483647 2147483647 
      

  8.   

    据说是微软不更新它的c-library的问题。
    有一个解决方案。把所有长度大于256的varchar或char或nvarchar类型,
    用cast将其转为text类型。
     <?  
      $sql =   "select   cast   (theValue   as   text)   as   theValue   from   table1";   
    ?>
      

  9.   

    把theValue字段当成text类型读出来
      

  10.   

    ok,sorry,当我白说,你继续,
      

  11.   

    我也考虑过,可这个字段是MSSQL里这个字段是LONGTEXT,不需要考虑你这个了啊
      

  12.   

    我只是提个建议,你可以参考,试一下,不会死人的。谁知道,longtext是不是要考虑这些呢。
    毕竟php是和mysql最紧密的,php和mssql什么情况都会出来的