問題:
將HTML 表格單中插入的值成功執行,資料庫仍為空。
解決方案:
提供的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中文網其他相關文章!