介绍
在PHP开发中,数据库是必不可少的一环。而MSSQL是一款在企业级应用中经常使用的数据库。本文将介绍在PHP中如何使用MSSQL数据库,并给出一些实际应用的例子。
连接MSSQL数据库
使用MSSQL扩展
PHP提供了MSSQL扩展,可以使用该扩展连接MSSQL数据库。连接步骤如下:
安装MSSQL扩展
sudo apt-get install php7.0-mssql
连接MSSQL数据库
$conn = mssql_connect($serverName, $userName, $password);if (!$conn) { die('连接失败: ' . mssql_get_last_message());}
使用PDO扩展
另外一种连接MSSQL数据库的方式是使用PDO扩展。连接步骤如下:
安装PDO扩展和ODBC驱动
sudo apt-get install php7.0-pdo php7.0-odbc unixodbc-dev
连接MSSQL数据库
$conn = new PDO("odbc:Driver={SQL Server};Server=$serverName;Database=$dbName", $userName, $password);
数据库查询及操作
查询
查询数据是常用的功能。在MSSQL中,查询语句和其他数据库的查询语句非常相似。例如,查询一个表中的所有数据:
SELECT * FROM table_name;
在PHP中使用MSSQL扩展查询数据:
$sql = "SELECT * FROM table_name";$res = mssql_query($sql);while ($row = mssql_fetch_assoc($res)) { // handle row data}
在PHP中使用PDO扩展查询数据:
$sql = "SELECT * FROM table_name";$stmt = $conn->query($sql);while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { // handle row data}
插入
插入数据可以使用INSERT INTO语句。在MSSQL中,插入语句格式如下:
INSERT INTO table_name (col1, col2, col3, ...) VALUES (val1, val2, val3, ...);
在PHP中使用MSSQL扩展插入数据:
$sql = "INSERT INTO table_name (col1, col2) VALUES ('value1', 'value2')";mssql_query($sql);
在PHP中使用PDO扩展插入数据:
$stmt = $conn->prepare("INSERT INTO table_name (col1, col2) VALUES (:val1, :val2)");$stmt->execute(array(':val1' => 'value1', ':val2' => 'value2'));
更新
更新数据可以使用UPDATE语句。在MSSQL中,更新语句格式如下:
UPDATE table_name SET col1=val1, col2=val2, ... WHERE condition;
在PHP中使用MSSQL扩展更新数据:
$sql = "UPDATE table_name SET col1='new value' WHERE id=1";mssql_query($sql);
在PHP中使用PDO扩展更新数据:
$stmt = $conn->prepare("UPDATE table_name SET col1=:val1 WHERE id=:id");$stmt->execute(array(':val1' => 'new value', ':id' => 1));
删除
删除数据可以使用DELETE语句。在MSSQL中,删除语句格式如下:
DELETE FROM table_name WHERE condition;
在PHP中使用MSSQL扩展删除数据:
$sql = "DELETE FROM table_name WHERE id=1";mssql_query($sql);
在PHP中使用PDO扩展删除数据:
$stmt = $conn->prepare("DELETE FROM table_name WHERE id=:id");$stmt->execute(array(':id' => 1));
实际应用
以下是一个简单的登录应用程序。首先创建一个users表:
CREATE TABLE users (
id INT IDENTITY PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL
);
接下来,编写登录页面。在登录页面中,用户输入用户名和密码并提交表单。在服务器端验证用户名和密码是否匹配数据库中的用户。
login.php:
<form action="authenticate.php" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br>
<input type="submit" value="Login">
</form>
authenticate.php:
<?php
$conn = new PDO("odbc:Driver={SQL Server};Server=$serverName;Database=$dbName", $userName, $password);
$sql = "SELECT * FROM users WHERE username = :username AND password = :password";
$stmt = $conn->prepare($sql);
$stmt->execute(array(':username' => $_POST['username'], ':password' => $_POST['password']));
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if (!$user) {
// invalid login
} else {
// successful login, redirect to homepage
}
?>
总结
本文介绍了在PHP中使用MSSQL数据库的方法,并给出了一些实际应用的例子。连接MSSQL数据库可以使用MSSQL扩展和PDO扩展,查询及操作数据可以使用各种SQL语句。在开发过程中,应选择合适的方法和工具,以保证代码的高效和可维护性。