【发布时间】:2012-10-18 00:32:49
【问题描述】:
我之前在 MYSql 上使用过 PDO,但现在我需要为 PHP 使用 Microsoft SQL Server Driver。
我找到了手册。 http://php.net/manual/en/book.sqlsrv.php
我使用示例 #2 连接到新的 SQL 数据库: http://www.php.net/manual/en/function.sqlsrv-connect.php
如何“转换”以下(PDO mysql)以使用 sqlsrv:
$username = 'test';
try {
$conn = new PDO('mysql:host=$host;dbname=$database', $username, password);
$stmt = $conn->prepare('SELECT username users WHERE username = :username LIMIT 1');
$stmt->execute(array('username' => $username));
if ($stmt->rowCount() > 0) {
$result = $stmt->fetch();
echo $result['username'];
} else {
echo 'Nothing found.';
die();
}
} catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
【问题讨论】:
-
为什么不使用php.net/manual/en/ref.pdo-sqlsrv.php,这样它只需要对您的代码进行最少的更改?
-
所以我只需要更改:new PDO to new PDO_SQLSRV ?
-
不,您将需要更改 DSN(连接字符串),以通知 PDO 您需要使用 sqlsrv 驱动程序,并将正确的命名参数传递给它,例如
new PDO("sqlsrv:Server=localhost;Database=$database",$username, $password); -
然后它说:错误:找不到驱动程序。
-
我认为没有 sqlsrv_connect 是不可能的
标签: php sql-server database sqlsrv