使用PHP连接到SQL Server

时间:2012-02-22 10:39:45

标签: php sql-server

使用php我试图连接到名称中带有连字符的SQL Server表,返回错误是

  

警告:mssql_select_db()[function.mssql-select-db]:message:无法在sysdatabases中找到数据库'SMD'的条目。找不到具有该名称的条目。确保正确输入名称。第12行的C:\ xampp \ xampp \ htdocs \ second.php中的(严重级16)

     

警告:mssql_select_db()[function.mssql-select-db]:无法选择数据库:第12行的C:\ xampp \ xampp \ htdocs \ second.php中的SMD-GROUP
  无法打开数据库SMD-GROUP

代码是

    $myDB = "SMD-GROUP"; 
     $selected = mssql_select_db($myDB, $dbhandle)
     or die("Couldn't open database $myDB"); 

3 个答案:

答案 0 :(得分:6)

查看http://php.net/manual/en/function.mssql-select-db.php

  

要转义包含空格,连字符(“ - ”)或任何其他例外字符的数据库的名称,数据库名称必须括在括号中。

答案 1 :(得分:2)

如果您使用的是MSSQL Server 2005或更高版本..您应该使用microsoft的SQLSRV驱动程序。 请注意,由于PHP5.4及更高版本上的错误未解决,性能仍然无法胜任。 你应该知道你的PHP是在VC6还是VC9上编译的,如果它是线程安全的还是没有..更好地看到这个引用http://php.net/manual/en/book.sqlsrv.php

请记住php_mssql.dll已在PHP5.4及更高版本上弃用。 另外,我已经在我们的UAT和Producion服务器上测试了这个。干杯!

答案 2 :(得分:0)

最好使用PDO类与PHP进行数据库连接,因为PDO支持多个数据库驱动程序并且得到更好的支持。 PHP Data Objects

$DB=new PDO('dblib:host='.$host.';dbname='.$database,$username,$password);