PHP-PDO错误:无效的关键字' host'在DSN字符串中指定

时间:2015-08-25 20:06:31

标签: php sql-server pdo

尝试连接到smarterasp.net dns上的mssql服务器但到目前为止没有成功。先前有过司机问题。安装它们并且它们完美地工作(在php.ini中添加它们)

使用 php版本:5.6 ,为了让 php-pdo-mssql 工作,将以下内容添加到php.ini中:

  • 延长= php_pdo_sqlsrv_56_nts.dll
  • 延长= php_pdo_sqlsrv_56_ts.dll
  • 延长= php_sqlsrv_56_nts.dll
  • 延长= php_sqlsrv_56_ts.dll

到目前为止,我对此代码做了什么:

<?php
 try {
     $conn = new PDO("sqlsrv:host=host_name_string;dbname=database_name_string", "username_string", "password_string");

     // set the PDO error mode to exception
     $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
     echo "Connected successfully"; 
 }
 catch(PDOException $e)
 {
     echo "Connection failed: " . $e->getMessage();
 }

?>
  • 而不是dbname我放了数据库,它没有工作
  • 而不是dbname我放了数据库,它没有工作
  • 我在主机名示例后添加了端口1433:
  

&#34; SQLSRV:主机= host_name_string,1433;数据库= database_name_string&#34;

它不起作用

  • 我已经以这种方式在主机名示例之后添加了端口1433
  

&#34; SQLSRV:主机= host_name_string;端口= 1433;数据库= database_name_string&#34;

它不起作用

我已经测试了与我的SQL服务器管理工​​作室的连接和给定的数据(我在这里使用的值作为参数是100%罚款)

我的其他选择是什么?

1 个答案:

答案 0 :(得分:7)

正确的连接格式是:

$conn = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password"); 

来自手册页:PDO_SQLSRV DSN