2013-06-06 5 views
0

У нас есть база данных, работающая под управлением Windows Server 2008 R2, SQL Server 2008 R2. Мне нужно запросить базу данных через PHP (я также открыт для других параметров) и отображать данные на веб-странице.PHP для запроса SQL Server 2008 R2

Я тестировал соединение с моим именем пользователя, паролем и именем сервера с использованием тестового файла UDL. Моя связь успешна.

В моем веб-сервере установлен PHP 5.4 и работает.

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

<?php 
$myServer = "ipaddress"; 
$myUser = "username"; 
$myPass = "password"; 
$myDB = "dbname"; 

//connection to the database 
$dbhandle = mssql_connect($myServer, $myUser, $myPass) 
    or die("Couldn't connect to SQL Server on $myServer"); 

//select a database to work with 
$selected = mssql_select_db($myDB, $dbhandle) 
    or die("Couldn't open database $myDB"); 

//declare the SQL statement that will query the database 
$query = "SELECT fullName, email_address, pos_desc"; 
$query .= " FROM dbo.EMPLOYEE_VIEW "; 
$query .= "WHERE grp_cde='STAFF'"; 

//execute the SQL query and return records 
$result = mssql_query($query); 

$numRows = mssql_num_rows($result); 
echo "<h1>" . $numRows . " Row" . ($numRows == 1 ? "" : "s") . " Returned </h1>"; 

//display the results 
while($row = mssql_fetch_array($result)) 
{ 
    echo "<li>" . $row["id"] . $row["name"] . $row["year"] . "</li>"; 
} 
//close the connection 
mssql_close($dbhandle); 
?> 

Имейте в виду, что сервер базы данных и веб-сервер работают под управлением Windows Server 2008 R2 и существуют в одном домене.

Единственная ошибка, которую я получаю: 500 - Внутренняя ошибка сервера. Проблема с ресурсом, который вы ищете, и его невозможно отобразить.

Есть ли что-нибудь, что я могу сделать для устранения неполадок, почему это не работает?

Я ценю любую помощь по этому вопросу.

+0

Делитесь своей ошибкой, что будет легче ответить. –

+0

Единственная ошибка, которую я получаю: 500 - Внутренняя ошибка сервера. Проблема с ресурсом, который вы ищете, и его невозможно отобразить. – Chaddly

+0

Вы изменили параметр Server в первой строке с правильными значениями? ipaddress должен быть либо localhost, либо 127.0.0.1, аналогичным образом имя пользователя и пароль должны быть использованы на сервере базы данных. Просто спрашивайте, не изменили ли вы их. –

ответ

0

После pheww ... что теперь? 6 часов? У меня это работает! Проблема заключалась в том, что мне нужно было настроить драйверы SQL Server 2008 на моем веб-сервере и подключиться с помощью ODBC через мой PHP-скрипт. Теперь я вытягиваю и показываю данные из базы данных SQL Server 2008, например, pro. Спасибо за помощь ребятам.

odbc_connect("DRIVER={SQL Server Native Client 10.0};Server=serverip;Database=tablename",   "username", "pass"); 
+0

Я использую общий Windows Server 2008 в облаке. У меня также есть эта проблема, как я могу узнать, установлен ли собственный клиентский сервер sql server 10.0? Также моя строка подключения - sqlsvr_connect(). Будет ли это также требовать родной клиент?Pls Мне нужна помощь – Dave

1

Ошибка 500 обычно означает, что вы забыли; или ', я предлагаю вам внимательно проверить свой код на наличие избыточных или отсутствующих символов.

Кроме того, включение php-ошибок в файл php.ini помогает многого в этом.

+0

Спасибо за ваш вклад Wesley, я собираюсь посмотреть, как включить php-ошибки и посмотреть, могу ли я получить дополнительную информацию для этой проблемы. – Chaddly

+0

@Chaddly Вы можете поместить '' В верхней части вашей формы, возможно, вы можете увидеть еще одну ошибку. – Daanvn

Смежные вопросы