addslashes()还不够,但是PHP的mssql软件包没有提供任何不错的选择。丑陋但完全通用的解决方案是将数据编码为十六进制字节串,即
$unpacked = unpack('H*hex', $data);mssql_query(' INSERT INTO sometable (somecolumn) VALUES (0x' . $unpacked['hex'] . ')');摘要如下:
function mssql_escape($data) { if(is_numeric($data)) return $data; $unpacked = unpack('H*hex', $data); return '0x' . $unpacked['hex'];}mssql_query(' INSERT INTO sometable (somecolumn) VALUES (' . mssql_escape($somevalue) . ')');mysql_error()等效为
mssql_get_last_message()。



