使用ADO和PHP连接到MSSQL数据库

时间:2011-01-23 18:04:18

标签: php sql-server iis ado

我有一个MSSQL数据库。我写了一个php页面来连接和检索它的数据。该代码适用于我的localhost。

$strCon = "Provider=SQLOLEDB;Data Source=local;database=test;uid=sa;pwd=go;";

$strAlias = "GEORGE";

$strSql = "SELECT LINK FROM LINKS WHERE ALIAS = '" . $strAlias . "'";

$Con = new COM ("ADODB.Connection") or die("Cannot start ADO");
$Rs = new COM ("ADODB.Recordset") or die("Cannot start ADO");
$Con->open($strCon);
$Rs->open($strSql,$Con,1,3);

if (!$Rs->EOF && !$Rs->BOF) {
 $strTargetLink = $Rs->Fields['LINK'];
 echo $strTargetLink;
}

$Rs->Close();
$Con->Close();
$Rs = null;
$Con = null;

当我在服务器上运行此代码时,收到一些错误?当echo $ strTargetLink;执行行,单词

  

对象

在已发送的html页面上以及该页面的源代码中收到。

我在IIS上运行PHP作为FastCGI应用程序。支持PHP 4.4.7和5.2.6。

有什么想法吗?这个对象文字是什么意思?

感谢。

我没有使用echo,而是尝试了

var_dump($strTargetLink);

并收到了信息

  

object(COM)(1){[0] =>类型(COM)的资源(3)}

2 个答案:

答案 0 :(得分:0)

尝试使用var_dump而不是echo。它至少会为您提供有关$strTargetLink中包含的对象的更多信息。

答案 1 :(得分:0)

我找到了解决方案,现在可行了。所以,如果你想与ADO联系,我正在写我所做的。

而不是

$strTargetLink = $Rs->Fields['LINK']; 

我写了

$strTargetLink = $Rs->Fields(0);