0

我们有一个在 Windows Server 2008 R2、SQL Server 2008 R2 上运行的数据库。我需要通过 PHP 查询数据库(我也对其他选项持开放态度)并在网页中显示数据。

我使用 UDL 测试文件测试了我的用户名、密码和服务器名称的连接性。我的连接成功。

我的 Web 服务器安装了 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);
?>

请记住,数据库服务器和 Web 服务器都运行 Windows Server 2008 R2 并且存在于同一个域中。

我收到的唯一错误是:500 - 内部服务器错误。您要查找的资源有问题,无法显示。

我可以做些什么来解决为什么这不起作用?

我感谢有关此问题的任何和所有帮助。

4

2 回答 2

1

错误 500 通常意味着您忘记了 ; 或',我建议您仔细检查您的代码是否有任何多余或缺失的字符。

此外,在 php.ini 文件中打开 php 错误有助于修复这些问题。

于 2013-06-06T13:43:14.813 回答
0

呼……现在呢?6个小时?我有它的工作!问题是我需要在我的 Web 服务器上设置 SQL Server 2008 驱动程序并通过我的 PHP 脚本使用 ODBC 进行连接。我现在像专业人士一样从我的 SQL Server 2008 数据库中提取和显示数据。谢谢各位帮忙。

odbc_connect("DRIVER={SQL Server Native Client 10.0};Server=serverip;Database=tablename",         "username", "pass");
于 2013-06-07T11:56:47.917 回答