php - PHP 7.3 使用 PDO SQLSRV 返回奇怪的结果
问题描述
当我在不同版本的 PHP/PDO_SQLSRV 下运行下面的查询时,我得到了不同的结果。我觉得我错过了一些明显的东西,比如二进制编码设置?
$hex = '0x44';
$sSQL = "
DECLARE @hex nvarchar(6) = :hex
SELECT CONVERT(VARBINARY(2), @hex, 1) myTest
";
$stmt = $this->rms->prepare($sSQL);
$stmt->bindParam(':hex',$hex);
$stmt->execute();
$result = $stmt->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
PHP 7.0.8 + php_pdo_sqlsrv 4.1.8819 的结果:
Array
(
[0] => Array
(
[myTest] => 44
)
)
PHP 7.3.4 + php_pdo_sqlsrv 5.6.1 的结果:
Array
(
[0] => Array
(
[myTest] => D
)
)
SQL Server 2008 R2 的结果:
解决方案
推荐阅读
- sql - 使用 SQL 更新 Temp 表以在 XML 数据中插入节点
- java - 如何建模与用户和实体的关系?
- matplotlib - 多面板雷达动画
- java - 如何在 Materialviewpage Adapter 中添加 onClickListener?
- django - 带有模型方法的 Django 查询过滤器
- java - 将自定义类型列表转换为对象框中的字符串
- moodle - Moodle - 缺少站点管理员块
- docker - ./stopFabric.sh 织物没有停止
- json - HTTP 通信失败 - 500 本机 SSL 错误
- python - 在 Alpine Linux 上安装 pycurl 时“无法运行 curl-config: [Errno 2] No such file or directory”