介绍
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作为他们的数据库,从而扩展了他们开发的能力。