PHP如何连接MSSQL服务器

介绍

PHP是一个流行的服务器脚本语言,常用于Web开发,可以轻松连接各种数据库,包括Microsoft SQL Server(MSSQL)。MSSQL是一个关系型数据库管理系统,由Microsoft开发,广泛用于企业级应用。在这篇文章中,我们将介绍如何使用PHP连接MSSQL服务器。

安装MSSQL扩展

在连接MSSQL之前,我们需要安装PHP的MSSQL扩展。在Windows上,MSSQL扩展通常作为默认扩展打包在PHP中,但是在Linux上需要手动安装。以下是在Ubuntu上安装MSSQL扩展的步骤:

sudo apt-get update

sudo apt-get install php7.4-mssql

sudo service apache2 restart

如果您使用的是不同的Linux发行版,请查看相应的文档来安装MSSQL扩展。

连接MSSQL服务器

要连接MSSQL服务器,我们需要使用PHP的mssql_connect()函数。以下是函数语法:

mssql_connect(servername,username,password,new_link,client_flag);

这个函数有五个参数:

servername:要连接的MSSQL服务器的名称或IP地址。

username:连接MSSQL服务器的用户名。

password:连接MSSQL服务器的密码。

new_link:可选参数,如果设置为true,则会创建新连接。

client_flag:可选参数,设置连接的客户端信息。

以下是一个连接MSSQL服务器并选择数据库的示例:

$serverName = "localhost\SQLEXPRESS";

$connectionInfo = array("Database" => "TestDB", "UID" => "sa", "PWD" => "password");

$conn = sqlsrv_connect($serverName, $connectionInfo);

if ($conn) {

echo "连接成功!";

} else {

echo "连接失败!";

}

查询数据

使用mssql_query()

要查询数据库中的数据,我们需要使用PHP的mssql_query()函数。以下是函数的语法:

mssql_query(query,connection);

这个函数有两个参数:

query:要执行的查询字符串。

connection:要使用的连接。

以下是一个查询数据库中所有行的示例:

$query = "SELECT * FROM Customers";

$result = mssql_query($query, $conn);

if ($result) {

while ($row = mssql_fetch_array($result, MSSQL_BOTH)) {

echo $row[0] . ": " . $row["FirstName"] . " " . $row["LastName"] . "
";

}

} else {

echo "查询失败!";

}

使用sqlsrv_query()

除了mssql_query()函数,还可以使用sqlsrv_query()函数来查询MSSQL服务器。这个函数与mssql_query()函数的用法非常相似,但是有一些重要的区别。以下是函数的语法:

sqlsrv_query(connection,query,params);

这个函数有三个参数:

connection:要使用的连接。

query:要执行的查询字符串。

params:可选参数,指定查询中使用的参数。

以下是使用sqlsrv_query()函数查询数据库中所有行的示例:

$query = "SELECT * FROM Customers";

$result = sqlsrv_query($conn, $query);

if ($result) {

while ($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {

echo $row["CustomerID"] . ": " . $row["FirstName"] . " " . $row["LastName"] . "
";

}

} else {

echo "查询失败!";

}

结果集中包含的数据类型

MSSQL服务器支持多种数据类型,PHP的MSSQL扩展可以处理以下类型的数据:

bigint

binary

bit

char

date

datetime

datetime2

datetimeoffset

decimal

float

image

int

money

nchar

ntext

numeric

nvarchar

real

smalldatetime

smallint

smallmoney

text

time

timestamp

tinyint

uniqueidentifier

varbinary

varchar

关闭连接

在完成与MSSQL服务器的通信后,我们需要关闭连接以释放资源。以下是关闭连接的方法:

mssql_close(connection);

sqlsrv_close(connection);

需要注意的是,在PHP 5.3及更高版本中,mssql_close()函数已经被弃用。更好的做法是使用sqlsrv_close()函数关闭连接。

总结

PHP连接MSSQL服务器非常简单,只需要安装MSSQL扩展并使用mssql_query()函数或sqlsrv_query()函数即可。这使得PHP开发人员能够使用MSSQL作为他们的数据库,从而扩展了他们开发的能力。

数据库标签