我在设置系统方面遇到了问题。
我们正在运行SQL Server 2005,我想从运行php 5.2和apache的另一台Windows机器连接它。
我可以使用mssql_connect连接到SQL但是我无法从简单查询中检索任何结果(SELECT * FROM USERS)mssql_query不返回任何内容也不会死或显示错误。
相同的代码使用相同的php工作在另一台机器(SQL Server机器的客户端)和运行SQL Server的PC上。
可能会发生什么?
答案 0 :(得分:1)
由于执行查询的时间较长,可能会超时?您可以尝试更简单的查询,例如SELECT 1
如果是超时问题,您可能需要查看为什么它会发生在这台计算机上......或者您可以通过在查询执行之前在代码中使用这一行来修复它:ini_set('mssql.timeout', seconds)
其中秒是一个数字。
答案 1 :(得分:1)
我以前从未使用过MsSQL,但尝试在文件顶部设置error_reporting(E_ALL)
,在调用mssql_query()
后设置执行var_dump(mssql_get_last_message())
。
答案 2 :(得分:0)
如果查询只是挂起,那么表可能会被锁定。
请问您是否可以运行不涉及任何表格的查询(例如仅仅SELECT 1
),看看它是否有效?
答案 3 :(得分:0)
我将从配置开始。如果它从另一台机器上运行正常,那么这是唯一一个有问题的机器 1.比较工作/不工作机器之间的驱动程序 2.比较php安装。
你明白了。
另外,我不确定你的意思是“(SQL Server机器的客户端)”......
答案 4 :(得分:0)
谢谢大家,我解决了。 我的php代码有一个大/小写错误,我没有处理结果集的任何行。
花了我几个小时才注意到这个愚蠢的事情!