PHP实现连接MS SQL数据库的实战指南

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数据库是非常常见的操作,希望本文对您有所帮助。

数据库标签