$writeBack = str_replace("'", “‘’”, $writeBack);   // 转义 

解决方案 »

  1.   

    转了后再用 addslashes() 写进数据库是成功了     不过再读的时候出了点问题
    问下这样转义后对数据有影响么?    因为我不知PHP 这里要读和存     C++ 那边也要 
      

  2.   

    不要用 用 addslashes !
    addslashes 将单引号 ' 转义成 \'
    而你显然使用的是 syBase 系列数据库,单引号要转移成 '' (2个单引号)
      

  3.   

    不用的话  还是提示未闭合     $writeBack = str_replace("\'","\"",$writeBack); 我用了      数据库是sqlserver
      

  4.   

    $writeBack = str_replace("'", “‘’”, $writeBack);
    为什么要自作主张呢?
    守规矩才是好孩子
      

  5.   

    现在的部分代码
    $compress = gzcompress($data);  // 压缩
    $transfer = pack('s',$ver_temp[1]);
    $tt1 = unpack('c2',$transfer);
    $ver .= chr($tt1[1]);
    $ver .= chr($tt1[2]);
    $writeBack = $ver.$compress; // 版本拼接
    $writeBack = str_replace("'", "''", $writeBack);

    $sql = "update itemQuest set questItem = CONVERT(varbinary(8000),'$writeBack') where gid = $gid";