试图看看我是否可以让 PDO 在我的服务器上打开我的 mssql 数据库。使用 vbscript 我对连接的调用如下所示:
set MyConn = Server.CreateObject("ADODB.Connection")
MyConn.Open("dsn=MYDSN;uid=MYUID;pwd=MYPWD;DATABASE=MYDATABASE;APP=ASP Script")
然后,当尝试使用 PDO 将其移植到 php 时,我无法找到有关将 DSN 与 PDO 一起使用的任何信息。
这是我到目前为止所拥有的:
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 代码中的任何位置。