簡體   English   中英

PHP - 查詢以將數據插入數據庫

[英]PHP - Query to insert data into database

我一直在創建一個注冊系統,我的代碼不會將字段: firstnamelastnameemailusername插入到我的數據庫中,但是它會將散列密碼插入到我的數據庫中。 我認為問題可能與 for 循環有關,但在我看來它應該可以工作。

<?php
if (isset($_POST['submit'])){
    require_once 'config.php';
        $hashed_password = password_hash($_POST["password"], PASSWORD_DEFAULT);
        $fields = ['firstname', 'lastname', 'email', 'username'];
        $escaped_values = [];
        foreach($fields as $field){
            $escaped_values[$field] = mysqli_real_escape_string($connect, $_POST['$field']);
        }
        $sql = "INSERT INTO users (firstname, lastname, email, username, password) VALUES ('{$escaped_values["firstname"]}', '{$escaped_values["lastname"]}', '{$escaped_values["email"]}', '{$escaped_values["username"]}', '$hashed_password')";
        mysqli_query($connect, $sql);
}
?>

我相信你的錯誤在這一行:

$escaped_values[$field] = mysqli_real_escape_string($connect, $_POST['$field']);

您應該像在$escaped_values[]一樣在$_POST[]使用$field ,特別是刪除單引號。

現在,該循環每次循環時都將 $field 作為文字字符串讀取,這很可能不存在,為您提供一個空的$escaped_values數組

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM