odbc_fetch_*() fails to fetch SQL Server text fields with SQL_CUR_USE_ODBC
未关闭
@cmb69 已经在做这个了。
开始于 2024年8月5日。
Bug
Extension: odbc
Status: Needs Triage
- 主要语言
- C
- 星标
- 40.4k
- 派生
- 8.2k
- 平均合并
- 2 天 13 小时
- 30 天内合并 PR
- 96
描述
Description
The following code:
$conn = odbc_connect('DRIVER={SQL Server Native Client 11.0};SERVER=LOCALHOST\SQLSERVER;DATABASE=OIDPLUS;charset=UTF-8;Client_CSet=UTF-8;Server_CSet=UTF-8', 'sa', '123456', SQL_CUR_USE_ODBC);
$res = odbc_exec($conn, "select description from my_objects");
while ($row = odbc_fetch_object($res)) {
var_dump($row);
}
echo odbc_close($conn);
Resulted in this output:
(Nothing; odbc_fetch_object is false)
But I expected this output instead:
Printed array with descriptions
The bug only happens if odbc_connect() has SQL_CUR_USE_ODBC and it ONLY fails if you fetch exactly one column with the text data type. If you fetch a text row and another row, then it works!
select description from my_objectsdoes NOT workselect id, description from my_objectsWORKSselect id from my_objectsWORKS
System:
- Windows 10 Pro
- SQL Server 2022
PHP Version
PHP 8.3.6 (also tested with PHP 8.4 Alpha 4)
Operating System
Windows 10 x64
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
评估
这个 Issue 还没有评估数据。