我正在寻找SQL Server mysql_real_escape_string()的替代方案.addslashes()是我的最佳 Select ,还是还有其他可供 Select 的功能?

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

Php相关问答推荐

如何使用PHP停止foreach循环中的重复项?

如何在数据库中添加注册表单中的动态新行?

为什么调用干预\映像引发错误驱动程序\GD\Driver not found?

Symfony Api平台:按自定义实体方式排序结果

Laravel集合块()方法

从WooCommerce购物车和 checkout 页面自定义发货标签

Htaccess-重写对&api.php";的API请求以及对";web.php";的其他请求

如何将LARAVEL模块路径和项目路径合并,因为当我使用模块路径时,它们会覆盖项目路径

Select 本地提货时隐藏WooCommerce显示的发货成本

使用 PHP,我可以将 foreach 语句放入瞬态中吗?

PHP 中的 libgd 无法读取 Apache 配置中的 SetEnv GDFONTPATH

在 WooCommerce 我的帐户自定义部分显示未购买的产品

Windows 身份验证在 IIS 中验证什么?我可以在我的情况下禁用匿名身份验证吗?

Laravel的Storage::exists返回false,而file_exists返回true.

在WooCommerce我的账户单个订单页面中添加订单商品部分和按钮

php var_dump(1) 返回字符串(4)

在 Laravel、Vuejs 和 Inertia 中配置 TypeScript 的问题

如果有很多重定向,PHP curl 的行为不像命令行 curl

使用 RSA 2048 公钥验证 RSA PKCS#1v1.5 SHA 256 签名

Laravel 从嵌套数组的第二级获取最后一项