Php 连接到mssql服务器时出现问题

Php 连接到mssql服务器时出现问题,php,sql-server,pdo,Php,Sql Server,Pdo,我用来测试连接的代码: $serverName = 'host\sqlexpress'; $database = 'dbname'; // Get UID and PWD from application-specific files. $uid = 'username'; $pwd = 'password'; try { $conn = new PDO( "sqlsrv:server=$serverName;Database = $datab

我用来测试连接的代码:

   $serverName = 'host\sqlexpress';
   $database = 'dbname';

   // Get UID and PWD from application-specific files.
   $uid = 'username';
   $pwd = 'password';

   try {
      $conn = new PDO( "sqlsrv:server=$serverName;Database = $database", $uid, $pwd);
      $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
   }

   catch( PDOException $e ) {
      die( "Error connecting to SQL Server" );
   }

   echo "Connected to SQL Server\n";

   $query = 'select * from tablename';
   $stmt = $conn->query( $query );
   while ( $row = $stmt->fetch( PDO::FETCH_ASSOC ) ){
      print_r( $row );
   }

   // Free statement and connection resources.
   $stmt = null;
   $conn = null;
?>
运行此文件时遇到的错误只是“连接到SQL Server时出错”


有没有线索说明这可能不起作用?我能得到更详细的错误报告吗?

检查PDO的实际错误,而不是字符串消息
echo$e->getMessage()
catch{}
块中。@MichaelBerkowski好的,得到一个驱动程序错误。“找不到驱动程序”。如果我遵循本教程,我是否在正确的领域:或者您是否推荐其他内容?看起来该教程是针对ODBC的,ODBC是PDO中与sqlsrv不同的驱动程序。如果您使用的是基于Debian的系统,请执行
apt缓存搜索pdo
,查看哪些驱动程序可用。我记不起我曾经从Linux将PDO连接到MSSQL以了解sqlsrv驱动程序还是odbc更简单。这里有一些信息可以解决您的问题:啊,好的,是的,它基于debian(ubuntu)。谢谢你的帮助我想我知道我需要做什么@MichaelBerkowski