PHP如何使用POST方式向数据库提交数据 (php post 数据库)
在Web开发中,经常需要将用户提交的数据存储到数据库中。而提交数据的方式有很多种,其中POST方式是最常用的一种。本文将介绍如何使用PHP通过POST方式向数据库提交数据。
一、前置知识
在使用POST方式提交数据前,需要对HTML表单、PHP中的$_POST变量以及数据库进行了解。
HTML表单是用来接收用户输入并将数据发送到服务器端,使用方法如下:
“`html
“`
上述代码中定义了一个表单,其中method属性值为post,表示使用POST方式提交数据。action属性值为submit.php,表示将数据发送到submit.php页面进行处理。表单中有两个输入框,分别是用户名和密码,用于接收用户输入的数据。
PHP中的$_POST变量是用来接收通过POST方式提交的数据,使用方法如下:
“`php
$username = $_POST[‘username’];
$password = $_POST[‘password’];
“`
上述代码中$_POST[‘username’]表示接收名为username的输入框的值,将其赋值给$username变量。同理,将接收密码输入框的值并赋值给$password变量。
数据库是用来存储数据的一个系统,PHP中可以通过MySQLi扩展(面向对象)或MySQL函数库(过时)来操作数据库。本文将以MySQLi为例进行讲解。
二、建立数据库连接
在使用MySQLi操作数据库之前,需要先建立与数据库的连接。使用MySQLi_connect()函数建立连接时,需要提供以下四个参数:
1. 目标主机地址(默认为localhost)
2. 数据库的用户名
3. 数据库密码
4. 要连接的数据库名称
下面是建立连接的示例代码:
“`php
$host = “localhost”;
$username = “root”;
$password = “123456”;
$dbname = “mydb”;
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die(“数据库连接失败:” . mysqli_connect_error());
}
“`
上述代码中,$host表示数据库的主机地址,$username表示数据库的用户名,$password表示数据库的密码,$dbname表示要连接的数据库名称。MySQLi_connect()函数将这些参数传入后,返回一个连接对象并将其赋值给变量$conn。若连接失败,则输出错误信息并终止代码执行。
三、向数据库提交数据
当表单数据通过POST方式发送到服务器端后,可以通过$_POST变量读取这些数据,并将其存储到数据库中。为了实现数据的存储,需要先创建一张数据表。以用户表为例,可以定义如下表结构:
“`sql
CREATE TABLE users (
id INT(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) NOT NULL,
password VARCHAR(50) NOT NULL,
eml VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
“`
上述代码中定义了一张名为users的表,其中有以下五个字段:
1. id:自增长的唯一标识符,作为主键
2. username:用户名字段,不允许为空
3. password:密码字段,不允许为空
4. eml:电子邮件字段,允许为空
5. reg_date:注册时间字段,创建数据行时自动生成时间戳
当用户通过表单输入用户名和密码后,可以通过以下代码将这些数据存储到数据库中:
“`php
$username = $_POST[‘username’];
$password = $_POST[‘password’];
$sql = “INSERT INTO users (username, password) VALUES (‘$username’, ‘$password’)”;
if (mysqli_query($conn, $sql)) {
echo “数据提交成功”;
} else {
echo “数据提交失败:” . mysqli_error($conn);
}
“`
上述代码中,$sql表示构建的SQL语句。使用INSERT INTO语句向users表中插入一条新数据行,并将用户名和密码字段赋值为输入框中的值。当SQL执行成功时,输出提交成功的提示信息。反之,输出错误信息。
四、完整的示例代码
将前面所述的代码整合到一起,可以得到一个完整的示例代码如下:
“`php
用户注册
$host = “localhost”;
$username = “root”;
$password = “123456”;
$dbname = “mydb”;
// 建立数据库连接
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die(“数据库连接失败:” . mysqli_connect_error());
}
// 向数据库提交数据
if ($_SERVER[“REQUEST_METHOD”] == “POST”) {
$username = $_POST[‘username’];
$password = $_POST[‘password’];
$eml = $_POST[’eml’];
$sql = “INSERT INTO users (username, password, eml) VALUES (‘$username’, ‘$password’, ‘$eml’)”;
if (mysqli_query($conn, $sql)) {
echo “数据提交成功”;
} else {
echo “数据提交失败:” . mysqli_error($conn);
}
}
// 关闭数据库连接
mysqli_close($conn);
?>
“`
运行此程序后,在网页中填写用户名、密码和电子邮件地址,并单击“提交”按钮,将会插入新的数据行到users表中。
五、
本文介绍了如何使用PHP通过POST方式向数据库提交数据。具体来说,需要先在HTML表单中定义好要提交的数据,然后在PHP中连接到数据库并将数据插入到指定的数据表中。对于初学者而言,掌握这种基本的数据存储方式是非常重要的。