1. 简介
Microsoft SQL Server是一种关系型数据库管理系统(RDBMS),主要运行在Windows操作系统上。在开发Web应用程序中,经常会需要使用PHP连接MS SQL数据库来存储和管理数据。本文将介绍如何使用PHP连接MS SQL数据库。
2. 环境准备
2.1 MS SQL Server
安装MS SQL Server,并创建一个数据库。下面是创建数据库的SQL语句:
CREATE DATABASE mydb;
注意:这里使用的是SQL Server Management Studio工具创建数据库。如果不想使用这个工具,也可以通过代码来创建。更多详情请查看Microsoft的官方文档。
2.2 PHP
安装PHP。如果您使用的是Windows操作系统,请下载并安装PHP for Windows。如果您使用的是Linux操作系统,请在终端中使用以下命令安装PHP:
sudo apt-get update
sudo apt-get install php
2.3 PHP扩展
要使用PHP连接MS SQL Server,需要安装php_sqlsrv扩展。下面是在Windows系统上安装php_sqlsrv扩展的步骤:
下载php_sqlsrv扩展文件
将下载后的php_sqlsrv扩展文件(php_sqlsrv.dll)复制到PHP的ext目录下
打开PHP的php.ini文件,添加以下内容:
extension=php_sqlsrv.dll
如果您使用的是Linux系统,请在终端中使用以下命令安装php_sqlsrv扩展:
sudo pecl install sqlsrv pdo_sqlsrv
安装成功后,在PHP的php.ini文件中添加以下内容:
extension=sqlsrv.so
extension=pdo_sqlsrv.so
3. 连接数据库
要使用PHP连接MS SQL Server,需要使用sqlsrv_connect函数。下面是连接数据库的代码示例:
<?php
$serverName = "localhost";
$connectionOptions = array(
"Database" => "mydb",
"Uid" => "my_user",
"PWD" => "my_password"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Connected to database.\n";
}
?>
注意:您需要将$serverName、$connectionOptions中的值替换为您自己的数据库服务器、数据库名称、用户名和密码。
如果连接成功,将输出“Connected to database.”。否则将输出错误信息。
4. 查询数据
使用sqlsrv_query函数可以查询数据库中的数据。下面是查询数据的代码示例:
<?php
$tsql = "SELECT * FROM mytable";
$stmt = sqlsrv_query($conn, $tsql);
if($stmt === false) {
die(print_r(sqlsrv_errors(), true));
}
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
echo $row['name'].", ".$row['age']."\n";
}
sqlsrv_free_stmt($stmt);
?>
注意:您需要替换$tsql中的“mytable”为您自己的表名。
使用sqlsrv_query函数查询数据并将结果保存在$stmt变量中。如果查询失败,将输出错误信息。使用while循环遍历$stmt变量中的结果,并输出每行数据的“name”和“age”字段。最后使用sqlsrv_free_stmt函数释放$stmt变量。
5. 插入数据
使用sqlsrv_query函数可以向数据库中插入数据。下面是插入数据的代码示例:
<?php
$name = "Tom";
$age = 20;
$tsql = "INSERT INTO mytable (name, age) VALUES (?, ?)";
$params = array($name, $age);
$stmt = sqlsrv_query($conn, $tsql, $params);
if($stmt === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Data inserted.\n";
}
sqlsrv_free_stmt($stmt);
?>
注意:您需要将$tsql中的“mytable”替换为您自己的表名。
使用$sqlsrv_query函数向数据库中插入数据。$name和$age变量保存要插入的数据。使用$params数组将$name和$age变量传递给$sqlsrv_query函数,以防止SQL注入攻击。如果插入成功,将输出“Data inserted.”。最后使用sqlsrv_free_stmt函数释放$stmt变量。
6. 更新数据
使用sqlsrv_query函数可以更新数据库中的数据。下面是更新数据的代码示例:
<?php
$name = "Tom";
$newAge = 21;
$tsql = "UPDATE mytable SET age=? WHERE name=?";
$params = array($newAge, $name);
$stmt = sqlsrv_query($conn, $tsql, $params);
if($stmt === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Data updated.\n";
}
sqlsrv_free_stmt($stmt);
?>
注意:您需要将$tsql中的“mytable”替换为您自己的表名。
使用sqlsrv_query函数更新数据库中的数据。$name变量指定要更新的数据所在的行(使用“WHERE”子句)。$newAge变量保存新的年龄数据。使用$params数组将$newAge和$name变量传递给$sqlsrv_query函数,以防止SQL注入攻击。如果更新成功,将输出“Data updated.”。最后使用sqlsrv_free_stmt函数释放$stmt变量。
7. 删除数据
使用sqlsrv_query函数可以删除数据库中的数据。下面是删除数据的代码示例:
<?php
$name = "Tom";
$tsql = "DELETE FROM mytable WHERE name=?";
$params = array($name);
$stmt = sqlsrv_query($conn, $tsql, $params);
if($stmt === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Data deleted.\n";
}
sqlsrv_free_stmt($stmt);
?>
注意:您需要将$tsql中的“mytable”替换为您自己的表名。
使用sqlsrv_query函数删除数据库中的数据。$name变量指定要删除的数据所在的行(使用“WHERE”子句)。使用$params数组将$name变量传递给$sqlsrv_query函数,以防止SQL注入攻击。如果删除成功,将输出“Data deleted.”。最后使用sqlsrv_free_stmt函数释放$stmt变量。
8. 断开数据库连接
使用sqlsrv_close函数可以断开与数据库的连接。下面是断开数据库连接的代码示例:
<?php
sqlsrv_close($conn);
echo "Disconnected from database.\n";
?>
使用sqlsrv_close函数断开与数据库的连接。
9. 总结
本文介绍了如何使用PHP连接MS SQL数据库,并实现查询、插入、更新和删除数据的操作。在开发Web应用程序中,使用PHP连接MS SQL数据库是非常常见的操作,希望本文对您有所帮助。