2

我已经在我的 CentOS 环境中安装并配置了 FreeTDS,以使我的 PHP 代码能够连接到一些外部 MSSQL 服务器。我的整个应用程序都在使用 PDO 编写,它在 Windows 上完美运行。只是想知道我的相同 PDO 代码是否可以在 CentOS 中使用,否则我必须将整个代码从 PDO 转换为 mssql_query 表单。

就像在 PDO 中一样,我有:

$statement_keyword = $obj->conn->prepare($keywordquery);
$statement_keyword->execute();
$rows_keyword = $statement_keyword->fetchAll(PDO::FETCH_ASSOC);

在使用 FreeTDS 的 MSSQL 中,我们必须编写

$result = mssql_query($keywordquery);
while ($Row = mssql_fetch_assoc($result)) {
  $iw[$i++]=(string)$Row['FullName'];
  .......
}

意味着我必须通过整个循环运行才能获取记录数组,类似地,我可能需要在存储过程执行中进行更多更改......

任何人都可以指导我在 CentOS 上使用 PDO for MSSQL,或者其他简单的方法。

谢谢

4

1 回答 1

0

在寻找网络并进行一些研究和实验工作后,我意识到使用 Windows 的 PDO 代码到 PDO 等效项非常容易,而无需进行任何更改,我需要做的唯一更改是建立连接的方式

在 Windows 中使用 PDO 和 MSSQL

$this->conn = new PDO("sqlsrv:server=".$this->dbServer.";Database={$this->dbName}",$this->userName,$this->userPassword);

在 CentOS 上使用 PDO 和 MSSQL

 $this->conn = new PDO("dblib:host=$this->dbServer;dbname={$this->dbName}",$this->userName,$this->userPassword);

确保您已在 CentOS 堆栈上配置 FreeTDS、ODBC 等

于 2012-12-19T08:55:22.500 回答