1. 安装MSSQL扩展
要开启新技术之门,我们首先需要安装MSSQL扩展。MSSQL是一种关系型数据库管理系统,能够运行在Windows和Linux环境下,并支持多种编程语言。MSSQL扩展可以让PHP程序与MSSQL数据库进行交互。
下面是安装MSSQL扩展的步骤:
1.1 下载MSSQL扩展
我们可以从Microsoft的GitHub仓库中下载最新的MSSQL扩展包。
curl https://github.com/microsoft/msphpsql/releases/download/v5.9.0/linux.zip -o linux.zip
unzip linux.zip
1.2 安装MSSQL扩展
使用以下命令进行安装:
cd ./sqlsrv-5.9.0/ext
phpize
./configure --with-php-config=/usr/bin/php-config
make
sudo make install
安装成功后,我们需要在php.ini文件中启用该扩展。
extension=sqlsrv.so
extension=pdo_sqlsrv.so
2. 连接MSSQL数据库
安装了MSSQL扩展后,我们可以使用PHP代码连接MSSQL数据库了。下面介绍几种常见的连接方式。
2.1 使用sqlsrv连接
使用sqlsrv连接,需要先建立一个连接对象,然后通过该对象执行SQL语句。以下是一个连接示例:
$serverName = "localhost";
$connectionOptions = array(
"Database" => "testDB",
"Uid" => "username",
"PWD" => "password"
);
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn) {
echo "Connected successfully.";
} else {
echo "Connection failed.";
}
在上面的示例中,我们首先定义了一个$serverName变量,它指明了要连接的MSSQL数据库的服务器名称。$connectionOptions变量指定了要连接的数据库的名称、用户名和密码。我们使用sqlsrv_connect函数建立连接,如果连接成功,则输出"Connected successfully.",否则输出"Connection failed."。
2.2 使用PDO连接
使用PDO连接,我们需要先创建一个PDO对象,然后使用该对象执行SQL语句。以下是一个连接示例:
$serverName = "localhost";
$database = "testDB";
$username = "username";
$password = "password";
try {
$conn = new PDO( "sqlsrv:Server=$serverName;Database=$database", $username, $password);
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
echo "Connected successfully.";
}
catch(Exception $e) {
echo "Connection failed: " . $e->getMessage();
}
在上面的示例中,我们首先定义了一个$serverName变量,它指明了要连接的MSSQL数据库的服务器名称。$database、$username和$password变量分别指定了要连接的数据库的名称、用户名和密码。我们使用PDO构造函数建立连接,并设置错误处理模式为ERRMODE_EXCEPTION。如果连接成功,则输出"Connected successfully.",否则输出错误信息。
3. 执行SQL语句
连接成功后,我们可以执行SQL语句操作MSSQL数据库。以下是PHP使用MSSQL的一些常用SQL语句。
3.1 查询语句
查询语句用于从数据库中检索数据。它可以使用SELECT语句来查询数据。以下是一个查询示例:
$sql = "SELECT * FROM users";
$result = sqlsrv_query($conn, $sql);
if($result === false) {
die(print_r(sqlsrv_errors(), true));
}
while($row = sqlsrv_fetch_array($result, SQLSRV_FETCH_ASSOC)) {
echo "id: ".$row["id"].", name: ".$row["name"].", email: ".$row["email"]."
";
}
在上面的示例中,我们使用sqlsrv_query函数执行了一个SELECT语句,将查询结果存储在$result变量中。如果查询失败,则使用sqlsrv_errors函数打印错误信息。最后,我们使用sqlsrv_fetch_array函数解析查询结果。
3.2 插入语句
插入语句用于将数据插入到MSSQL数据库中。它可以使用INSERT INTO语句来插入数据。以下是一个插入示例:
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$params = array("John", "john@example.com");
$result = sqlsrv_query($conn, $sql, $params);
if($result === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Data inserted successfully.";
}
在上面的示例中,我们使用sqlsrv_query函数执行了一个INSERT INTO语句,将数据存储在MSSQL数据库的users表中。我们使用$params变量将待插入数据作为参数传递给sqlsrv_query函数。如果插入失败,则使用sqlsrv_errors函数打印错误信息。
3.3 更新语句
更新语句用于将数据库中的数据更新。它可以使用UPDATE语句来更新数据。以下是一个更新示例:
$sql = "UPDATE users SET email=? WHERE id=?";
$params = array("john@example.com", 1);
$result = sqlsrv_query($conn, $sql, $params);
if($result === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Data updated successfully.";
}
在上面的示例中,我们使用sqlsrv_query函数执行了一个UPDATE语句,将id为1的用户的邮箱地址更新为"john@example.com"。我们使用$params变量将待更新的数据作为参数传递给sqlsrv_query函数。如果更新失败,则使用sqlsrv_errors函数打印错误信息。
3.4 删除语句
删除语句用于从数据库中删除数据。它可以使用DELETE语句来删除数据。以下是一个删除示例:
$sql = "DELETE FROM users WHERE id=?";
$params = array(1);
$result = sqlsrv_query($conn, $sql, $params);
if($result === false) {
die(print_r(sqlsrv_errors(), true));
} else {
echo "Data deleted successfully.";
}
在上面的示例中,我们使用sqlsrv_query函数执行了一个DELETE语句,将id为1的用户从MSSQL数据库的users表中删除。我们使用$params变量将待删除数据作为参数传递给sqlsrv_query函数。如果删除失败,则使用sqlsrv_errors函数打印错误信息。
总结
通过本文,我们了解了如何安装MSSQL扩展、使用PHP连接MSSQL数据库,以及使用PHP执行查询、插入、更新和删除等操作。MSSQL是一款功能强大的数据库管理系统,学习MSSQL数据库的使用有助于提高我们的开发能力和工作效率。