Подключение к базе данных MSSQL с помощью ADO и PHP - PullRequest
0 голосов
/ 23 января 2011

У меня есть база данных MSSQL. Я написал страницу php для подключения и получения данных с него. Код работает на моем локальном хосте.

$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;

Когда я запускаю этот код на сервере, я получаю сообщение об ошибке? когда эхо $ strTargetLink; строка выполнена, слово

Object

получено на отправленной html-странице, а также в исходном коде этой страницы.

Я использую PHP на IIS как приложение FastCGI. Поддерживаются как PHP 4.4.7, так и 5.2.6.

Есть идеи? Что означает текст Объект ?

Спасибо.

Вместо того, чтобы использовать эхо, я теперь попробовал

var_dump($strTargetLink);

и получил информацию

объект (COM) (1) {[0] => ресурс (3) типа (COM)}

Ответы [ 2 ]

0 голосов
/ 23 января 2011

Я нашел решение, и теперь оно работает. Так что на всякий случай, если вы хотите подключиться к ADO, я пишу, что я сделал.

Вместо

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

Я написал

$strTargetLink = $Rs->Fields(0);
0 голосов
/ 23 января 2011

попробуйте использовать var_dump вместо эха.по крайней мере, он даст вам больше информации об объекте, содержащемся в $strTargetLink.

...