我已在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,或者是另一种简单的方法。
由于
答案 0 :(得分:0)
在寻找网络并进行一些研究和实验工作后,我意识到使用PDO代码非常容易将窗口用于PDO等效而无需更改,我需要做的唯一改变是建立连接的方式< / p>
在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等