php pdo与mssql和一个DNS

时间:2013-08-19 20:33:03

标签: php sql-server pdo dsn

试着看看我是否可以在我的服务器上打开我的mssql数据库。使用vbscript,我对连接的调用如下所示:

set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open("dsn=MYDSN;uid=MYUID;pwd=MYPWD;DATABASE=MYDATABASE;APP=ASP Script")

然后当尝试使用PDO将其移植到php时,我无法找到有关在PDO中使用DSN的任何信息。

这是我到目前为止所做的:

try {
    $conn = new PDO('mssql:Server=localhost;Database=MYDSN','MYUID','MYPWD') or die('error');
    $conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
    $sql = "SELECT name FROM people";
    $qresult = $conn->prepare($sql);
    $qresult->execute();
    foreach ($qresult->fetch(PDO::FETCH_ASSOC) as $row){
        echo $row['name'].'<br/>';
    }
} catch (PDOException $e) {
    print "Error!: ".$e->getMessage()."<br/>";
    die();
}

但这就是我得到的

Error!: SQLSTATE[HY000]: General error: 10007 Invalid object name 'name'. [10007] (severity 5) [(null)]

我的猜测是因为我无法将dsn放在pdo代码中的任何位置。

0 个答案:

没有答案