介绍
在web开发过程中,经常需要连接数据库来存储或者获取数据。Microsoft SQL Server (MS SQL)是一个流行的关系型数据库管理系统。PHP是一种流行的服务器端编程语言,具有灵活性和易用性。在本文中,将讨论如何使用PHP连接MS SQL服务器并向数据库中添加数据。
连接MS SQL服务器
在PHP中连接MS SQL服务器需要使用MSSQL扩展。可以在PHP.INI文件中启用MSSQL扩展,或者使用PHP函数mssql_connect()链接数据库。以下是一个建立到MS SQL服务器的例子:
//连接MS SQL服务器
$conn = mssql_connect('server\instance', 'username', 'password');
if (!$conn) {
die('连接数据库失败');
}
//选择数据库
mssql_select_db('database_name', $conn);
要连接MS SQL服务器,需要传递以下参数:
server\instance:服务器名称和实例名称
username:连接数据库的用户名
password:连接数据库的密码
如果连接成功,MSSQL扩展函数mssql_connect()会返回一个到MS SQL服务器的连接句柄。如果连接失败,将输出“连接数据库失败”的错误信息。
添加数据到数据库
在MS SQL数据库中添加数据需要使用INSERT语句。以下是一个向表中添加数据的例子:
INSERT INTO table_name (column1, column2, column3)
VALUES (value1, value2, value3);
table_name:指定要插入记录的表名称。
column1,column2,column3:要插入的列名称。
value1,value2,value3:要插入的值。
以下是一个用PHP向MS SQL数据库的表中添加数据的例子:
// SQL查询语句
$sql = "INSERT INTO Employee (EmpID, EmpName, EmpSalary)
VALUES (123, '张三', 10000)";
// 添加数据到数据库
if (mssql_query($sql)) {
echo "添加成功";
} else {
echo "添加失败";
}
在上面的例子中,INSERT语句定义要插入Employee表中的三个值:EmpID,EmpName,EmpSalary。mssql_query()函数执行指定的SQL语句。如果成功,则输出“添加成功”消息,否则输出“添加失败”。
使用变量添加数据到数据库
很多情况下,需要向表中添加变量值,而不是硬编码的值。在PHP中,可以使用变量代替INSERT语句中的值。以下是向Employee表中添加变量值的例子:
// 获取变量值
$EmpID = 124;
$EmpName = "李四";
$EmpSalary = 15000;
// SQL查询语句
$sql = "INSERT INTO Employee (EmpID, EmpName, EmpSalary)
VALUES ('$EmpID', '$EmpName', '$EmpSalary')";
// 添加数据到数据库
if (mssql_query($sql)) {
echo "添加成功";
} else {
echo "添加失败";
}
在上面的例子中,使用$EmpID,$EmpName和$EmpSalary变量代替INSERT语句中的值。请注意,变量名称要以$号开头,并且在SQL查询字符串中使用单引号引用。
使用预处理语句添加数据到数据库
预处理语句是一种有效的SQL注入防范方法。通过预准备查询语句并发送占位符参数,避免了将参数值置于SQL查询文本字符串中的技巧,而这可能会导致SQL注入攻击。在PHP中,可以使用PDO(PHP数据对象)扩展来预处理查询语句并绑定参数。以下是一个使用PDO扩展将变量值添加到Employee表中的例子:
// 获取变量值
$EmpID = 125;
$EmpName = "王五";
$EmpSalary = 20000;
// PDO预处理语句
$sql = "INSERT INTO Employee (EmpID, EmpName, EmpSalary)
VALUES (:empid, :empname, :empsalary)";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':empid', $EmpID, PDO::PARAM_INT);
$stmt->bindParam(':empname', $EmpName, PDO::PARAM_STR);
$stmt->bindParam(':empsalary', $EmpSalary, PDO::PARAM_INT);
// 添加数据到数据库
if ($stmt->execute()) {
echo "添加成功";
} else {
echo "添加失败";
}
在上面的例子中,使用PDO的prepare()函数预处理SQL查询语句。bindValue()和bindParam()函数用于绑定参数占位符和变量。bindParam()函数可接受变量的引用,而bindvalue()函数可接受变量的值。最后,使用execute()函数来执行查询语句。
总结
本文介绍了使用PHP连接MS SQL服务器并向数据库中添加数据的方法。首先,可以使用mssql_connect()函数连接MS SQL服务器。其次,可以使用INSERT语句将数据添加到数据库中。最后,介绍了如何使用变量和预处理语句添加数据到数据库并避免SQL注入攻击。希望本文可以对PHP开发人员在与MS SQL服务器交互时有所帮助。