介绍
在网页开发中,经常需要与数据库进行交互来存储或获取数据。而在使用PHP作为后台语言时,我们可以使用MSSQL数据库来存储和管理数据。本文将介绍如何使用PHP读取MSSQL数据库,并实现简单快捷的网页查询。
服务器环境
在使用MSSQL数据库之前,需要确保服务器环境已经安装了MSSQL扩展。可以通过以下方式来检查是否已经安装了MSSQL扩展:
if (function_exists('mssql_connect')) {
echo 'MSSQL extension is installed!';
} else {
echo 'MSSQL extension is not installed!';
}
?>
如果输出为“MSSQL extension is installed!”,则说明MSSQL扩展已经安装;否则需要安装MSSQL扩展。可以参考以下步骤进行安装:
1. 打开php.ini文件,查找“extension=php_mssql.dll”即可找到MSSQL扩展
2. 如果没有找到,则需要下载相应版本的MSSQL扩展,然后将其复制到PHP的ext目录下,并在php.ini文件中添加“extension=php_mssql.dll”一行
3. 修改php.ini文件后,需要重启web服务器才能生效
连接MSSQL数据库
连接MSSQL数据库的代码如下:
$serverName = "localhost"; // MSSQL服务器地址
$connectionInfo = array(
"Database" => "test", // 数据库名称
"UID" => "sa", // 登录帐号
"PWD" => "123456", // 登录密码
"CharacterSet" => "UTF-8" // 字符集
);
$conn = sqlsrv_connect($serverName, $connectionInfo); // 连接MSSQL数据库
if ($conn === false) {
echo "Failed to connect to MSSQL: " . sqlsrv_errors()[0]['message'];
exit;
}
?>
这段代码使用了sqlsrv_connect()函数来连接MSSQL数据库,并返回连接对象。如果连接失败,则输出错误信息并退出程序。
注意事项
在连接MSSQL数据库时,需要输入MSSQL服务器地址、数据库名称、登录帐号、登录密码和字符集等信息
连接MSSQL数据库时,需要使用sqlsrv_connect()函数,而不是mssql_connect()函数。这是因为后者已经被废弃
在连接MSSQL数据库时,需要先在服务器上安装SQL Server驱动程序
查询数据
查询数据的代码如下:
$sql = "SELECT * FROM users"; // SQL语句
$stmt = sqlsrv_query($conn, $sql); // 执行SQL语句并返回结果集对象
if ($stmt === false) {
echo "Error in executing query: " . sqlsrv_errors()[0]['message'];
exit;
}
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { // 遍历结果集
echo "User ID: {$row['id']}
";
echo "Username: {$row['username']}
";
echo "Password: {$row['password']}";
}
sqlsrv_free_stmt($stmt); // 释放结果集对象
?>
这段代码使用了sqlsrv_query()函数来执行SQL语句,并返回结果集对象。然后使用while循环遍历结果集,并输出每条记录的属性值。最后使用sqlsrv_free_stmt()函数释放结果集对象。
注意事项
在执行SQL语句时,需要先通过sqlsrv_query()函数连接到MSSQL数据库
在遍历结果集时,可以使用sqlsrv_fetch_array()、sqlsrv_fetch_object()、sqlsrv_fetch()等方法,其中最常用的是sqlsrv_fetch_array()方法
在遍历结果集时,需要注意结果集对象的释放。因为结果集对象占用了服务器内存,如果不及时释放,会导致内存泄漏
关闭连接
在使用完MSSQL数据库后,需要关闭连接以释放服务器资源。关闭连接的代码如下:
sqlsrv_close($conn); // 关闭MSSQL数据库连接
?>
这段代码使用了sqlsrv_close()函数来关闭MSSQL数据库连接,并释放服务器资源。
注意事项
在使用完MSSQL数据库后,需要及时关闭连接。如果不关闭连接,会导致服务器资源的浪费
完整代码
下面是一个完整的PHP代码示例,其中包含了连接MSSQL数据库、查询数据和关闭连接等操作。
$serverName = "localhost"; // MSSQL服务器地址
$connectionInfo = array(
"Database" => "test", // 数据库名称
"UID" => "sa", // 登录帐号
"PWD" => "123456", // 登录密码
"CharacterSet" => "UTF-8" // 字符集
);
$conn = sqlsrv_connect($serverName, $connectionInfo); // 连接MSSQL数据库
if ($conn === false) {
echo "Failed to connect to MSSQL: " . sqlsrv_errors()[0]['message'];
exit;
}
$sql = "SELECT * FROM users"; // SQL语句
$stmt = sqlsrv_query($conn, $sql); // 执行SQL语句并返回结果集对象
if ($stmt === false) {
echo "Error in executing query: " . sqlsrv_errors()[0]['message'];
exit;
}
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { // 遍历结果集
echo "User ID: {$row['id']}
";
echo "Username: {$row['username']}
";
echo "Password: {$row['password']}";
}
sqlsrv_free_stmt($stmt); // 释放结果集对象
sqlsrv_close($conn); // 关闭MSSQL数据库连接
?>
总结
本文从连接MSSQL数据库、查询数据和关闭连接等方面介绍了如何使用PHP读取MSSQL数据库,并实现简单快捷的网页查询。在使用MSSQL数据库时,需要注意安全性和效率等问题,特别是在处理用户输入数据时,需要进行数据过滤和验证等操作。