我已经使用TBS,OpenTBS和TbsSQL好几年了,总是在PHP 5.3.x上。我最近决定尝试升级到PHP 7.0,现在遇到了一个奇怪的问题(显然是一个错误,但错误文本没有回来,只是:
[TbsSql] [错误]:数据库错误消息:
有没有其他人在PHP 7中成功使用TbsSQL和SQL Server(tbssql_sqlserver_odbc.php模块,最后更新于2010年)?
是否有一些已知原因导致这可能不起作用?
答案 0 :(得分:1)
我想我已经明白了,所以我会发布我发现的内容以防其他人遇到这种奇怪的情况。
在我真正完成连接之前,我的原始代码中显然有一个小错误,它正在进行$ Db-> Close()调用。
出于某种原因,在我的旧环境中(我认为唯一的区别是我运行的是PHP 7之前的版本(5.3或5.6,可能在两者上都表现相同)),后续调用使用相同的$ Db连接会成功,即使从技术上讲,它应该已经关闭。
正如我所说,我使用的是tbssql_sqlserver_odbc.php模块。
无论如何,在PHP 7中,一旦我删除了错误的Close调用,我的模块就可以正常工作了。
这可能是一个奇怪的模糊情况,但也许有一天它会帮助其他人。
进一步说明:我得到的症状(我认为通常可能是TbsSQL调用)是对(例如)GetRow的调用将返回false而不是像往常一样返回带有结果的数组。