gpt4 book ai didi

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

转载 作者:IT老高 更新时间:2023-10-28 11:54:29 25 4
gpt4 key购买 nike

我正在为 SQL Server 寻找 mysql_real_escape_string() 的替代方案。 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()

关于php - 如何使用 PHP 在 SQL Server 中转义字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/574805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com