新聞中心
在Web開發(fā)中,經(jīng)常需要將用戶提交的數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中。而提交數(shù)據(jù)的方式有很多種,其中POST方式是最常用的一種。本文將介紹如何使用PHP通過POST方式向數(shù)據(jù)庫(kù)提交數(shù)據(jù)。

一、前置知識(shí)
在使用POST方式提交數(shù)據(jù)前,需要對(duì)HTML表單、PHP中的$_POST變量以及數(shù)據(jù)庫(kù)進(jìn)行了解。
HTML表單是用來接收用戶輸入并將數(shù)據(jù)發(fā)送到服務(wù)器端,使用方法如下:
“`html
提交
“`
上述代碼中定義了一個(gè)表單,其中method屬性值為post,表示使用POST方式提交數(shù)據(jù)。action屬性值為submit.php,表示將數(shù)據(jù)發(fā)送到submit.php頁(yè)面進(jìn)行處理。表單中有兩個(gè)輸入框,分別是用戶名和密碼,用于接收用戶輸入的數(shù)據(jù)。
PHP中的$_POST變量是用來接收通過POST方式提交的數(shù)據(jù),使用方法如下:
“`php
$username = $_POST[‘username’];
$password = $_POST[‘password’];
“`
上述代碼中$_POST[‘username’]表示接收名為username的輸入框的值,將其賦值給$username變量。同理,將接收密碼輸入框的值并賦值給$password變量。
數(shù)據(jù)庫(kù)是用來存儲(chǔ)數(shù)據(jù)的一個(gè)系統(tǒng),PHP中可以通過MySQLi擴(kuò)展(面向?qū)ο螅┗騇ySQL函數(shù)庫(kù)(過時(shí))來操作數(shù)據(jù)庫(kù)。本文將以MySQLi為例進(jìn)行講解。
二、建立數(shù)據(jù)庫(kù)連接
在使用MySQLi操作數(shù)據(jù)庫(kù)之前,需要先建立與數(shù)據(jù)庫(kù)的連接。使用MySQLi_connect()函數(shù)建立連接時(shí),需要提供以下四個(gè)參數(shù):
1. 目標(biāo)主機(jī)地址(默認(rèn)為localhost)
2. 數(shù)據(jù)庫(kù)的用戶名
3. 數(shù)據(jù)庫(kù)密碼
4. 要連接的數(shù)據(jù)庫(kù)名稱
下面是建立連接的示例代碼:
“`php
$host = “l(fā)ocalhost”;
$username = “root”;
$password = “123456”;
$dbname = “mydb”;
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die(“數(shù)據(jù)庫(kù)連接失?。骸?. mysqli_connect_error());
}
“`
上述代碼中,$host表示數(shù)據(jù)庫(kù)的主機(jī)地址,$username表示數(shù)據(jù)庫(kù)的用戶名,$password表示數(shù)據(jù)庫(kù)的密碼,$dbname表示要連接的數(shù)據(jù)庫(kù)名稱。MySQLi_connect()函數(shù)將這些參數(shù)傳入后,返回一個(gè)連接對(duì)象并將其賦值給變量$conn。若連接失敗,則輸出錯(cuò)誤信息并終止代碼執(zhí)行。
三、向數(shù)據(jù)庫(kù)提交數(shù)據(jù)
當(dāng)表單數(shù)據(jù)通過POST方式發(fā)送到服務(wù)器端后,可以通過$_POST變量讀取這些數(shù)據(jù),并將其存儲(chǔ)到數(shù)據(jù)庫(kù)中。為了實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ),需要先創(chuàng)建一張數(shù)據(jù)表。以用戶表為例,可以定義如下表結(jié)構(gòu):
“`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的表,其中有以下五個(gè)字段:
1. id:自增長(zhǎng)的唯一標(biāo)識(shí)符,作為主鍵
2. username:用戶名字段,不允許為空
3. password:密碼字段,不允許為空
4. eml:電子郵件字段,允許為空
5. reg_date:注冊(cè)時(shí)間字段,創(chuàng)建數(shù)據(jù)行時(shí)自動(dòng)生成時(shí)間戳
當(dāng)用戶通過表單輸入用戶名和密碼后,可以通過以下代碼將這些數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中:
“`php
$username = $_POST[‘username’];
$password = $_POST[‘password’];
$sql = “INSERT INTO users (username, password) VALUES (‘$username’, ‘$password’)”;
if (mysqli_query($conn, $sql)) {
echo “數(shù)據(jù)提交成功”;
} else {
echo “數(shù)據(jù)提交失?。骸?. mysqli_error($conn);
}
“`
上述代碼中,$sql表示構(gòu)建的SQL語(yǔ)句。使用INSERT INTO語(yǔ)句向users表中插入一條新數(shù)據(jù)行,并將用戶名和密碼字段賦值為輸入框中的值。當(dāng)SQL執(zhí)行成功時(shí),輸出提交成功的提示信息。反之,輸出錯(cuò)誤信息。
四、完整的示例代碼
將前面所述的代碼整合到一起,可以得到一個(gè)完整的示例代碼如下:
“`php
PHP提交數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)
用戶注冊(cè)
用戶名
密碼
郵箱
提交
$host = “l(fā)ocalhost”;
$username = “root”;
$password = “123456”;
$dbname = “mydb”;
// 建立數(shù)據(jù)庫(kù)連接
$conn = mysqli_connect($host, $username, $password, $dbname);
if (!$conn) {
die(“數(shù)據(jù)庫(kù)連接失?。骸?. mysqli_connect_error());
}
// 向數(shù)據(jù)庫(kù)提交數(shù)據(jù)
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 “數(shù)據(jù)提交成功”;
} else {
echo “數(shù)據(jù)提交失?。骸?. mysqli_error($conn);
}
}
// 關(guān)閉數(shù)據(jù)庫(kù)連接
mysqli_close($conn);
?>
“`
運(yùn)行此程序后,在網(wǎng)頁(yè)中填寫用戶名、密碼和電子郵件地址,并單擊“提交”按鈕,將會(huì)插入新的數(shù)據(jù)行到users表中。
五、
本文介紹了如何使用PHP通過POST方式向數(shù)據(jù)庫(kù)提交數(shù)據(jù)。具體來說,需要先在HTML表單中定義好要提交的數(shù)據(jù),然后在PHP中連接到數(shù)據(jù)庫(kù)并將數(shù)據(jù)插入到指定的數(shù)據(jù)表中。對(duì)于初學(xué)者而言,掌握這種基本的數(shù)據(jù)存儲(chǔ)方式是非常重要的。
相關(guān)問題拓展閱讀:
- php多行表單數(shù)據(jù)插入數(shù)據(jù)庫(kù),怎么判斷$_POST[…]數(shù)組是否為空?
php多行表單數(shù)據(jù)插入數(shù)據(jù)庫(kù),怎么判斷$_POST[…]數(shù)組是否為空?
if (empty($_POST)) {
螞山 echo “空”;
} else {
悶?zāi)ブ衑cho “不游凳空”;
關(guān)于php post 數(shù)據(jù)庫(kù)的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文標(biāo)題:PHP如何使用POST方式向數(shù)據(jù)庫(kù)提交數(shù)據(jù)(phppost數(shù)據(jù)庫(kù))
分享地址:http://www.5511xx.com/article/djpegid.html


咨詢
建站咨詢
