PHP连接MySQL数据库并插入表单数据
需积分: 10 185 浏览量
更新于2024-07-13
收藏 383KB PPT 举报
“通过PHP语言创建人事管理数据库,包括部门信息(dep)表和员工(people)表,涉及字段如部门名、人数、姓名、年龄、职称。内容涵盖连接和关闭数据库,以及对MySQL数据库和数据表的操作。”
在PHP中,与数据库进行交互是常见的任务,特别是当涉及到动态网站或应用程序时。本节主要讲解如何使用PHP操作MySQL数据库,特别是在处理来自HTML表单的数据插入数据库这一场景。
首先,我们需要创建一个HTML表单,让用户输入数据。如描述所示,我们可以创建一个简单的表单,包含Firstname、Lastname和Age三个字段,表单提交后会通过POST方法发送数据到名为"insert.php"的PHP脚本。表单代码如下:
```html
<html>
<body>
<form action="insert.php" method="post">
Firstname: <input type="text" name="firstname" />
Lastname: <input type="text" name="lastname" />
Age: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>
```
接下来,我们讨论如何在PHP中连接到MySQL数据库。PHP提供了`mysql_connect()`函数来建立连接,例如:
```php
$connection = mysql_connect('localhost', 'root', 'root');
```
这里,'localhost'是MySQL服务器的主机名,'root'是用户名,'root'是密码。如果连接成功,`mysql_connect()`将返回一个连接标识符,否则返回`false`。
然而,为了实现更持久的连接,可以使用`mysql_pconnect()`函数,它会在多次请求之间保持连接。这有助于减少连接和断开的开销,尤其是在高并发环境中。例如:
```php
$connection = mysql_pconnect('localhost', 'root', 'root');
```
需要注意的是,`mysql_pconnect()`不会自动关闭连接,而且不建议使用`mysql_close()`来关闭由`mysql_pconnect()`建立的连接,因为这可能会导致其他请求失去连接。
在连接成功后,可以使用`mysql_select_db()`函数选择要操作的数据库,例如:
```php
$db_selected = mysql_select_db('pm', $connection);
```
在这里,'pm'是我们的数据库名称。
然后,我们可以使用`mysql_query()`执行SQL语句,比如插入来自表单的数据:
```php
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$age = $_POST['age'];
$sql = "INSERT INTO people (FirstName, LastName, Age) VALUES ('$firstname', '$lastname', '$age')";
$result = mysql_query($sql, $connection);
```
这段代码首先获取表单数据,然后构造一个INSERT语句,最后执行该语句。
在完成数据库操作后,如果使用的是`mysql_connect()`建立的连接,可以调用`mysql_close()`关闭数据库连接:
```php
mysql_close($connection);
```
然而,对于`mysql_pconnect()`建立的连接,通常不用显式关闭,因为它们会保持打开状态直到服务器关闭或达到特定的资源限制。
总结,本资源涵盖了如何使用PHP连接到MySQL数据库,创建HTML表单收集用户输入,以及将这些数据插入数据库的基本步骤。同时,还提到了`mysql_connect()`和`mysql_pconnect()`的区别,以及如何选择和关闭数据库连接。在实际开发中,应注意安全问题,如SQL注入,因此推荐使用预处理语句或参数化查询,以及考虑使用更新的数据库扩展,如mysqli或PDO,因为`mysql_`系列函数已过时且不推荐使用。
108 浏览量
点击了解资源详情
102 浏览量
2023-05-17 上传
187 浏览量
2021-06-11 上传
108 浏览量
2021-11-09 上传
453 浏览量
正直博
- 粉丝: 48
- 资源: 2万+
最新资源
- CUDA9.0+cudnn7安装大礼包.zip
- 拖动滑块进行验证
- Docker零基础学习全套教程(含项目实战和源码)
- tarea-express-v1
- 网钛淘拍系统官方网下载v1.51
- 着作权法案例判决评析——计算机程序之保护
- uorhousepositions:简单的Powershell脚本可下载UOR房屋位置并创建地图文件
- multisetdiff:与 setdiff 类似,但 A 的任何重复元素在 B 中每次出现时仅被删除一次-matlab开发
- 愤怒的小鸟-阶段4:愤怒的小鸟-阶段4
- devopsproject1
- gcc内网离线安装包,CentOS7亲测可用
- ion-tools:工具和实用程序,使ION网络工作和使用ION DID变得轻松自如
- 工程建设项目管理体制
- RecommenderOnTf2:基于TensorFlow 2.3实现的推荐系统神经网络,主要关注模型构建,基本不包含数据预处理阶段
- LFO - Maker:用于构建不同 LFO 类型的系统-matlab开发
- diabetic-retinopathy:基于人眼图像的糖尿病性视网膜病变分类系统