当前位置: 首页 > 面试题库 >

如何使用PHP在SQL Server中转义字符串?

仲孙疏珂
2023-03-14
问题内容

我正在寻找mysql_real_escape_string()SQL Server
的替代方案。是addslashes()我最好的选择,还是可以使用另一种替代功能?

的替代方法mysql_error()也将很有用。


问题答案:

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()



 类似资料:
  • 问题内容: 我正在读取Java中的源文件,但是当我打印它(sysout)时,转义的字符不再转义。如何在Java中转义像和这样的字符? 问题答案: 您应该使用Apache Commons Text中的类(您也可以在Apache Commons Lang3中找到该类,但已弃用该类)。您会发现Apache Commons中还有许多其他产品可能对您在Java开发中遇到的其他问题有用,因此您不必重新发明轮子

  • 问题内容: 手动创建JSON数据时,应如何转义字符串字段?我应该用什么样的Apache Commons Lang中的,或者我应该使用? 问题是,当我使用时,它不会转义引号,并且当我将整个字符串包装在一对s中时,将生成格式错误的JSON。 问题答案: 理想情况下, 找到一种使用您的语言的JSON库 ,您可以向该 库 提供一些适当的数据结构, 并使它担心如何转义 。它会让您保持头脑清醒。如果出于某种原

  • 问题内容: 如何在javadoc中转义符号?我正在尝试在标签内使用它。 我已经尝试了html转义序列,但是没有用。 问题答案: 使用javadoc标记: 为此的javadoc将显示为: 当然,这适用于 任何 字符,并且是显示任何“特殊”字符的“官方支持”方式。 这也是最简单明了-你不需要知道字符的十六进制代码, 并且 可以读取你输入什么!

  • 问题内容: 如果我有一个字符串变量: 我想在每一个前面加一个转义字符和 变量中 (即 未 竟逃脱字符),我该怎么做? 问题答案: 我不是在这里要求优雅,但我 认为 它可以满足您的要求(如果我误会了,请纠正我): 输出

  • 问题内容: 手动创建数据时,应如何转义字符串字段?我应该用什么样的中的或者我应该使用 问题是,当我使用时,它不会转义引号,并且当我将整个字符串包装在一对s中时,将生成格式错误的JSON。 问题答案: 理想情况下,找到一种使用你的语言的JSON库,你可以向该库提供一些适当的数据结构,并使它担心如何转义。它会让你保持头脑清醒。如果出于某种原因你没有使用你的语言的库,或者你不想使用一个库(我不建议这样做

  • 问题内容: 我正在使用Python创建XML文档。(逻辑结构-> XML字符串,反之则不行。) 如何使它转义我提供的字符串,以使它们无法弄乱XML? 问题答案: 您是说您要执行以下操作: 然后,您将获得很好的转义XML字符串: