在PHP中,數據我們通常使??用MySQLi或PDO擴展來(lái)與MySQL數據庫進(jìn)行交互,庫寫(xiě)以下是單數一個(gè)使用MyS( ?ω?)QLi的示例,該示例將表單數據寫(xiě)入My(′ω`*)SQヽ(′ー`)ノL數據┐(′?`)┌庫:
(圖片來(lái)源網(wǎng)絡(luò ),據寫(xiě)據侵刪)我們需要創(chuàng )建一個(gè)HTML表單,入m入數用戶(hù)可以在其中輸入數據:
<form(′?`) action="insert.ヾ(′▽?zhuān)??php&quo(°o°)t; method="post"> Name: <input type=&quo┐(′д`)┌t;text" name="name"><br> Email: <input type="text" name=&quo(?????)t;email"><br> <input type="submit&quo??t;></form>我們需要創(chuàng )建一個(gè)PHP腳本(在這個(gè)例子中,數據??我們將其命名為"insert.php")來(lái)處理表單數據并將其插入到數據庫中:
<?庫寫(xiě)php$servername = "localhost"(°ロ°) !;;$u(′?_?`)sername = "username";$password = "password";$dbname = "myDB"ヾ(?■_■)ノ;;// 創(chuàng )建連接$conn = new mysqli($servername, $username, $password, $dbname);// 檢測連接if ($conn>connect(╯°□°)╯_error) { die("Connection failed: " . $conn>connect_error)(′?`);}// 從POST請求中獲取表單數據$name = $_POST??['name'];$email = $_POST['em??ail'];//?? 插入數據到 "users" 表$sql = "INSERT INTO users (name, email) VALUES ('$name', '$email')";if ($conn>query($sql) ==??= TRUE) { echo "New record created successfully&q(°□°)uot;;} else { echo "Error: " . $sヾ(?■_■)ノql . "<br>" . $conn>error;}$conn>close();?>注意:這只是一個(gè)基本示例,實(shí)際生產(chǎn)環(huán)(╬ ò﹏ó)境中,你需要(′▽?zhuān)?對用ヽ(′ー`)ノ戶(hù)輸入進(jìn)行驗證和清理,以防止ヽ(′ー`)ノSQL注入攻擊。
下面將展示一個(gè)基本的PHP腳本示例,該腳本從一個(gè)HTML表單接收數據,(╬?益?)并將其寫(xiě)入M(╬?益?)ySQL數據庫,為了簡(jiǎn)潔明了,我會(huì )創(chuàng )建一個(gè)簡(jiǎn)單的介紹來(lái)展示涉及到的HTML表單和PHP腳本的關(guān)鍵部分。
HTML 表單 (form.html)
<table> <tr> <td>用戶(hù)名:&lˉ\_(ツ)_/ˉt;/td&g(╬?益?)t; <td><input typ??e="text" name="username" required="" /></td> </tr> <tr> <td>郵箱:</td> <td><input type="email" name="email"(′?`); required="required" /></td> </tr> <tr> <td>密碼:</td> <td><input type="password(′?`*)" name="password" require(′▽?zhuān)?d /></t??d> </tr> &l??t;tr> <td colspan="2"><input type="submit" value="提交&quoヾ(′▽?zhuān)??t; /></td> </tr></table><form action="submit.ph??p" metho??d=ヽ(′ー`)ノ"post"> <!介紹中的輸入字段 > ...<??/form>
PHP 腳本 (submit??.php)
(圖片來(lái)源網(wǎng)絡(luò ),侵刪)<?php// 數據庫連接信息$servername = "localhost";$username = "db_user";$passworヽ(′ー`)ノd = "db_password";$dbname = "myDB";// 創(chuàng )建連接$conn = new mysqli($servername, $username, $password, $dbname);// 檢查連接if ($conn>conn???ect_error) { die("ヽ(′▽?zhuān)?ノ連??接失敗: " . $conn>connect_??error);}// 從表單獲取數據$post_username = $_POST['username'];$post_eヽ(′ー`)ノmail = $_POST['email'];$post_password = password_hash($_POST['password'], PASSWORD_DEFAULT); // 密碼加密// SQL 語(yǔ)句$sql = "INSER(′?`)T INT(′?`*)O users (username, email,? password)VAL(O_O)UES ('$post_username', '$post_e(′?`)mail', '$post_password')";// 執行SQL語(yǔ)句if ($conn>query($sql) === TRUE) { echo &q??uot;新記錄插入成功";} else { echo "Error: " . $sql . &qu??ot;<br>" . $conn>??;error;}// 關(guān)閉連接$conn>close();?>注意:
1、HTML 表單中的action屬性應該指向處理表單數據的PHP腳本。
2、PHP腳本中的數據庫連接信息需要替換為實(shí)際的信息。
3、密碼在存儲前應進(jìn)行哈希處理以提高安??全(quan)性。
4、??沒(méi)有包括所有的錯誤處理和輸入驗證,這在實(shí)際應用中是??必須的。
在實(shí)際使用中,你應該對來(lái)自表單的數據進(jìn)??行驗證和凈化,以防止SQL注入等安全問(wèn)題,使用預處理語(yǔ)句可以進(jìn)一步提高安全性,上面的示例僅用于演示基本的PHP和MySQL操作。
(圖片來(lái)源網(wǎng)絡(luò ),侵刪)