問題:
將HTML 表單中的值插入My執行成功,資料庫仍然存在空。
解決方案:
提供的PHP 程式碼包含儲存為字串變數的SQL 查詢:
$sql = "INSERT INTO users (username, password, email) VALUES ('".$_POST["username"]."','".$_POST["password"]."','".$_POST["email"]."')";
但是,此查詢是沒有被執行。要執行查詢,您需要使用準備語句等 MySQL 函數來確保資料的安全性和完整性。
最佳實務:使用準備語句
準備語句透過將查詢與使用者輸入分開來防止 SQL 注入。使用方法如下:
準備 SQL語句:
$sql = "INSERT INTO users (username, password, email) VALUES (?,?,?)";
綁定輸入變數:
$stmt = $mysqli->prepare($sql); $stmt->bind_param("sss", $_POST['username'], $_POST['email'], $_POST['password']);
。準備好的語句:
$stmt->execute();
其他安全措施:
加強安全性,使用password_hash以加密的雜湊格式而不是純文字儲存密碼。
以上是為什麼我的表單值沒有插入到我的 MySQL 資料庫?的詳細內容。更多資訊請關注PHP中文網其他相關文章!