1. 简介
Microsoft SQL Server(简称MSSQL)是由Microsoft公司开发的关系型数据库管理系统。它主要针对企业级应用和数据中心,提供高性能的数据存储和处理功能。由于MSSQL是商业软件,在应用中需要购买许可证。本教程将介绍如何使用PHP来操作MSSQL中的数据。
2. 连接MSSQL数据库
连接MSSQL数据库需要使用PHP的sqlsrv_connect()函数。该函数需要4个参数:服务器名、用户名、密码和数据库名。连接成功后,返回一个连接资源句柄。
2.1 连接语法
$conn = sqlsrv_connect($serverName, array('UID'=>$uid, 'PWD'=>$pwd, 'Database'=>$databaseName));
2.2 连接示例
$serverName = "localhost"; // 服务器名
$uid = "sa"; // 用户名
$pwd = "password"; // 密码
$databaseName = "testdb"; // 数据库名
//连接数据库
$conn = sqlsrv_connect($serverName, array('UID'=>$uid, 'PWD'=>$pwd, 'Database'=>$databaseName));
if($conn === false){
die(print_r(sqlsrv_errors(), true));
}
注意:如果连接失败,可以使用sqlsrv_errors()函数获取错误信息。在上面的示例中,我们使用了die()函数来停止脚本执行并打印错误信息。
3. 查询数据
使用PHP来操作MSSQL数据库,最常用的操作之一就是查询数据。MSSQL使用SQL语言来进行数据查询,PHP通过sqlsrv_query()函数来执行SQL语句并返回查询结果。
3.1 查询语法
$query = "SELECT * FROM table_name WHERE condition";
$result = sqlsrv_query($conn, $query);
其中,$query是要执行的SQL查询语句,$result是查询结果集,可以使用sqlsrv_fetch_array()函数来获取结果集中的数据。
3.2 查询示例
$query = "SELECT * FROM users WHERE age>18";
$result = sqlsrv_query($conn, $query);
if($result === false){
die(print_r(sqlsrv_errors(), true));
}
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)){
echo $row['id'].", ".$row['name'].", ".$row['age']."<br/>";
}
sqlsrv_free_stmt($result); //释放结果集
上面的示例查询了年龄大于18的用户信息,并使用sqlsrv_fetch_array()函数逐行获取查询结果集中的数据。
4. 添加、修改和删除数据
除了查询数据外,我们还需要了解如何使用PHP来添加、修改和删除MSSQL数据库中的数据。
4.1 添加数据
向MSSQL数据库添加数据需要使用SQL的INSERT INTO语句,在PHP中通过sqlsrv_query()函数来执行该语句。
4.1.1 添加语法
$query = "INSERT INTO table_name (field1, field2, field3) VALUES ('value1', 'value2', 'value3')";
$result = sqlsrv_query($conn, $query);
其中,$query是要执行的SQL插入语句。
4.1.2 添加示例
$query = "INSERT INTO users (name, age, gender) VALUES ('Tom', 20, 'male')";
$result = sqlsrv_query($conn, $query);
if($result === false){
die(print_r(sqlsrv_errors(), true));
}
上面的示例向MSSQL数据库中的users表中添加一条数据。
4.2 修改数据
修改MSSQL数据库中的数据需要使用SQL的UPDATE语句,在PHP中通过sqlsrv_query()函数来执行该语句。
4.2.1 修改语法
$query = "UPDATE table_name SET column1='value1', column2='value2', ... WHERE condition";
$result = sqlsrv_query($conn, $query);
其中,$query是要执行的SQL修改语句。
4.2.2 修改示例
$query = "UPDATE users SET age=22 WHERE id=1";
$result = sqlsrv_query($conn, $query);
if($result === false){
die(print_r(sqlsrv_errors(), true));
}
上面的示例修改MSSQL数据库中的users表中id为1的记录的年龄为22。
4.3 删除数据
删除MSSQL数据库中的数据需要使用SQL的DELETE语句,在PHP中通过sqlsrv_query()函数来执行该语句。
4.3.1 删除语法
$query = "DELETE FROM table_name WHERE condition";
$result = sqlsrv_query($conn, $query);
其中,$query是要执行的SQL删除语句。
4.3.2 删除示例
$query = "DELETE FROM users WHERE age<18";
$result = sqlsrv_query($conn, $query);
if($result === false){
die(print_r(sqlsrv_errors(), true));
}
上面的示例删除MSSQL数据库中的users表中年龄小于18的记录。
5. 关闭数据库连接
PHP连接到MSSQL数据库后,需要使用sqlsrv_close()函数来关闭连接,并释放相应的资源。
5.1 关闭连接语法
sqlsrv_close($conn);
5.2 关闭连接示例
sqlsrv_close($conn);
上面的示例关闭了与MSSQL数据库的连接。
总结
本教程介绍了如何使用PHP来操作MSSQL中的数据。通过连接、查询、添加、修改和删除数据等示例,我们可以了解到PHP操作MSSQL数据库的基本语法和操作方法。同时也需要明确,MSSQL是商业软件,需要购买相应的许可证才能应用到实际的项目中。