2

我还没有尝试使用mysqli,因为我想先知道它是否可以使用mssql server 因为我还在计划购买mssql server的许可证

4

3 回答 3

7

mysqli 是特定于 MySQL 的。如果您想访问 MSSQL,我建议您使用 PDO,这是一个 PHP 函数集/语句,它可以使用每种类型的驱动程序来通用地访问各种数据库类型。要使用 PDO 连接到 MSSQL 数据库,您首先需要 SQLSRV,驱动程序,您可以从 Microsoft下载。要连接,您将使用以下内容:

$handle = new PDO("sqlsrv:Server=$server;Database=$database", $username, $password);

查询:

$queryRef = $handle->query($query);

读取结果,声明$results为二维关联数组,第一个为结果编号,第二个为列名:

$results = $queryRef->fetchAll(PDO::FETCH_ASSOC);

$results[3]['id']第三个结果的“id”列的值也是如此。

您可以在此处的 PDO 的 PHP 文档页面上找到更多示例。PDO 的伟大之处在于您可以对不同的数据库使用相同的代码,您只需要更改驱动程序,可能还有查询。

于 2013-06-19T02:13:26.360 回答
4

PHP 确实有 MSSQL 的实现,但它不像 mysqli 那样“面向对象”。

此外,在特定情况下,例如在限制结果数量时,MSSQL 和 MySQL 之间的 SQL 语法确实略有不同:

MySQL:
  SELECT * FROM table LIMIT 100
MSSQL:
  SELECT TOP 100 * FROM table

我建议使用 PDO 而不是 mysqli,因为 PDO 同时支持 MySQL 和 MSSQL。

于 2013-06-19T01:34:44.683 回答
3

不,mysqli 是用于 MySql 的。请参阅Mysqli 文档

于 2013-06-19T01:34:33.717 回答