PHP连接MS SQL服务器添加数据

介绍

在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服务器交互时有所帮助。

数据库标签