是mysqli命令也可用于mssql服务器?

时间:2013-06-19 01:32:58

标签: php sql-server mysqli

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

3 个答案:

答案 0 :(得分:5)

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

$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 here的PHP文档页面上找到更多示例。关于PDO的好处是你可以为不同的数据库使用相同的代码,你只需要更改驱动程序,甚至可能需要更改查询。

答案 1 :(得分:4)

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

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

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

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

答案 2 :(得分:3)

不,mysqli适用于MySql。 请参阅Mysqli documentation