使用 PHP 在 SQL Server 中转义字符串:mysql_real_escape_string() 的替代方案
虽然 PHP 的 mysql_real_escape_string() 广泛用于转义字符串MySQL数据库查询,它不适合Microsoft SQL Server。本文探讨了使用 PHP 在 SQL Server 中进行字符串转义和错误检索的替代方案。
字符串转义
代替了 addslashes(),这并不完全足够,十六进制字节串编码方法提供了更全面的解决方案:
$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) . ') ');
错误检索
mssql_get_last_message() 函数相当于 SQL Server 上下文中的 mysql_error(),提供有关任何错误的详细信息遇到错误。
以上是如何使用 PHP 在 SQL Server 查询中转义字符串并处理错误?的详细内容。更多信息请关注PHP中文网其他相关文章!