1. PHP与MSSQL的结合介绍
PHP和MSSQL是两个不同的编程语言和数据库管理系统,但是它们可以很好地结合在一起,发挥出强大的功能。PHP是一个开源的服务器端编程语言,可以用于搭建动态网站,并提供强大的数据库操作功能;MSSQL是一种关系型数据库管理系统,是Microsoft公司开发的,通常被用于企业级应用系统。
1.1 PHP连接MSSQL的方式
PHP连接MSSQL数据库有两种方式:MS SQL Server 用 PDO 和 ms sql server 用 sqlsrv。
使用PDO连接MSSQL的代码如下:
try {
$dbh = new PDO("sqlsrv:server=$serverName; Database = $dbName", $userName, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
使用sqlsrv连接MSSQL的代码如下:
$serverName = "localhost"; //serverName\instanceName
$connectionInfo = array("Database" => "dbName", "UID" => "userName", "PWD" => "password");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if ($conn) {
echo "Connected successfully";
} else {
echo "Connection failed";
}
1.2 PHP操作MSSQL的基本语句
PHP操作MSSQL的基本语句包括查询、插入、更新、删除等。以下是针对学生表的一个例子:
查询学生表中所有的数据:
SELECT * FROM student
查询学生表中所有姓名为“张三”的学生:
SELECT * FROM student WHERE name = '张三'
插入一条新的学生记录:
INSERT INTO student (name, age, sex, grade) VALUES ('李四', 20, '男', 2)
更新学生表中姓名为“王五”的学生的年龄为21岁:
UPDATE student SET age = 21 WHERE name = '王五'
删除学生表中所有姓名为“赵六”的学生:
DELETE FROM student WHERE name = '赵六'
2. PHP与MSSQL结合实践
2.1 使用PHP连接MSSQL数据库
使用PHP连接MSSQL数据库的步骤如下:
在php.ini文件中启用sqlsrv扩展和pdo_sqlsrv扩展。
在PHP脚本中,使用sqlsrv_connect()函数或PDO类中的PDO::sqlsrv_connect()方法来连接MSSQL。
在连接成功后,就可以通过执行SQL语句来进行操作。
2.2 使用PHP实现MSSQL数据库的增删改查操作
在PHP中,使用PDO类或sqlsrv扩展都可以方便地实现MSSQL数据库的增删改查操作。以下以PDO类为例,介绍具体的实现步骤:
2.2.1 建立数据库连接
首先需要定义连接字符串:
$dsn = "sqlsrv:Server=localhost;Database=dbName;";
$options = array(
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
);
try {
$db = new PDO($dsn, "userName", "password", $options);
} catch (PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
这里的$dsn变量是连接字符串,Server表示要连接的MSSQL服务器,Database表示要连接的数据库。$options变量是连接选项,ERRMODE_EXCEPTION表示发生错误时抛出异常。
2.2.2 查询数据
查询数据可以使用PDO对象的query()方法,例如查询student表中所有的数据:
$stmt = $db->query("SELECT * FROM student");
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach ($results as $row) {
echo $row['name'] . " " . $row['age'] . " " . $row['sex'] . " " . $row['grade'] . "<br>";
}
2.2.3 插入数据
插入数据可以使用PDO对象的prepare()方法和execute()方法,例如向student表中插入一条新的记录:
$stmt = $db->prepare("INSERT INTO student (name, age, sex, grade) VALUES (?, ?, ?, ?)");
$stmt->execute(array('张三', 18, '男', 1));
echo "插入成功";
2.2.4 更新数据
更新数据可以使用PDO对象的prepare()方法和execute()方法,例如将student表中姓名为“张三”的记录的年龄更新为19岁:
$stmt = $db->prepare("UPDATE student SET age = ? WHERE name = ?");
$stmt->execute(array(19, '张三'));
echo "更新成功";
2.2.5 删除数据
删除数据可以使用PDO对象的prepare()方法和execute()方法,例如删除student表中姓名为“张三”的记录:
$stmt = $db->prepare("DELETE FROM student WHERE name = ?");
$stmt->execute(array('张三'));
echo "删除成功";
3. 总结
PHP与MSSQL的结合,在实际开发中非常常见。通过学习本文介绍的连接方式和操作方法,可以更好地掌握PHP操作MSSQL的能力。此外,还需要注意的是,面对大量数据时,需要进行优化。