Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > PHP+MSSQL


Автор: sani79 6.9.2006, 11:58
Добрый день. Нужна помощь. Имеем win2003, IIS6, PHP 5.1.6. Вроде бы настроено все нормально phpinfo выдает и версию IIS и настройки MSSQL. Для теста решил сделать простейший запрос к семпловой бд Northwind, но в результате получил "The field number one is: " без результата самого запроса. Текс файла со скриптом ниже. Пробовал вариации этого запроса ничего не выходит. http://ru.php.net/mssql читал, вроде все сделал правильно. Единственно не очень понял - " The MSSQL extension is enabled by adding extension=php_mssql.dll to php.ini.

To get these functions to work, you have to compile PHP with --with-mssql[=DIR], where DIR is the FreeTDS install prefix. And FreeTDS should be compiled using --enable-msdblib. ". 

В чем может быть проблема?

файл:
<html>
<body>
<?php
$con = mssql_connect ("localhost", "sa", "");
mssql_select_db ("Northwind", $con);
$sql= "SELECT * FROM region";
$rs= mssql_query ($sql, $con);
echo "The field number one is: ";
echo mssql_result ($rs, 0, 0);
mssql_close ($con);
?>
</body>
</html>




Автор: ZlojEzh 6.9.2006, 13:47
если не выдает unkown function mssql_connect - значит модуль подключен нормально
на всякий случай в начале скрипта поставь:
Код

ini_set('error_reporting', E_ALL);
ini_set("html_errors","1");
ini_set("display_errors","On");


попробуй:
Код

$con = mssql_connect ("localhost", "sa", "");
mssql_select_db ("Northwind", $con);
$sql= "SELECT * FROM region";
$rs= mssql_query ($sql, $con);
while ($row = mssql_fetch_assoc($rs)) {
  print_r($row);
  print '<hr>';
}

и расскажи, что выдает
а то может там реально первая строка пустая?

Автор: sani79 6.9.2006, 16:10
Хм... спасибо ZlojEzh. пишу код, затем результат выполнения:

<html>
<body>
<?php
ini_set('error_reporting', E_ALL);
ini_set("html_errors","1");
ini_set("display_errors","On");

$con = mssql_connect ("localhost", "testadmin", "test");
mssql_select_db ("Northwind", $con);
$sql= "SELECT * FROM region";
$rs= mssql_query ($sql, $con);
while ($row = mssql_fetch_assoc($rs)) {
  print_r($row);
  print '<hr>';
}?>
</body>
</html>

Warning: mssql_connect() [function.mssql-connect]: Unable to connect to server: localhost in c:\Inetpub\wwwroot\phpnet.php on line 8

Warning: mssql_select_db(): supplied argument is not a valid MS SQL-Link resource in c:\Inetpub\wwwroot\phpnet.php on line 9

Warning: mssql_query(): supplied argument is not a valid MS SQL-Link resource in c:\Inetpub\wwwroot\phpnet.php on line 11

Warning: mssql_fetch_assoc(): supplied argument is not a valid MS SQL-result resource in c:\Inetpub\wwwroot\phpnet.php on line 12

Автор: rMaveric 7.9.2006, 08:28
Проверь существование базы Это раз
Проверь права пользователя в БД два
И проверь сам MSSQL на то слушает он локалхост или нет три

Автор: sani79 8.9.2006, 06:13
Спасибо, разобрался. Проблема была с доступом.  В настройках сервера стояла только windows аудентификация. Сейчас все работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)