使用 odbc_exec 并成功下载 PHP 页面而不是渲染是

发布于 2024-10-19 04:22:48 字数 349 浏览 6 评论 0原文

我有一个非常奇怪的问题。我使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

書生途 2024-10-26 04:22:48

如果您在命令行上使用 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?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文