使用 odbc_exec 并成功下载 PHP 页面而不是渲染是
我有一个非常奇怪的问题。我使用 unixODBC 和 FreeTDS 连接到 MSSQL 服务器。
如果我使用 odbc_exec 执行 SQL 命令并生成有效查询,而不是呈现 PHP,我会收到下载 php 文件的提示,如果我接受,最终会下载一个空文件。
如果我故意用格式不正确的语句破坏 SQL,页面会成功呈现并显示错误语句。
如果我使用命令行 isql 连接到数据库并运行查询,我可以在命令行级别获得结果。
CentOS 5.5 64 位
MSSQL 2005 SP3
unixODBC 2.3.0
FreeTDS 0.82
PHP 5.3.5
I'm having a very strange issue. I'm using unixODBC with FreeTDS to connect to MSSQL server.
If I perform an SQL command using odbc_exec that results in a valid query, instead of rendering the PHP, I get a prompt to download my php file, which if I accept ends up downloading an empty file.
If I purposefully break my SQL with an improperly formatted statement, the page successfully renders and displays the error statement.
If I use the command line isql to connect to my database and run the query, I am able to get a result on the command line level.
CentOS 5.5 64bit
MSSQL 2005 SP3
unixODBC 2.3.0
FreeTDS 0.82
PHP 5.3.5
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您在命令行上使用 php 运行页面会发生什么?如果是 64 位安装,则可能是使用与 unixODBC 和/或 FreeTDS 不同的 sizeof( SQLLEN ) 构建 PHP 的结果。 PHP 是根据计算机上的 unixODBC 构建的还是从包安装的?
What happens if you run the page using php on the command line? If its a 64 bit install it may be a result of PHP being built with a different sizeof( SQLLEN ) from unixODBC and or FreeTDS. Was the PHP built against the unixODBC on the machine or installed from a package?