简体   繁体   English

更新不适用于mysqli

[英]Update is not working for mysqli

I am trying to get information to update in my table. 我正在尝试获取信息以更新表中的信息。 I have spent hours and keep going in circles. 我已经花了几个小时,一直在圈子里走。 I think the problem is in my query section toward the end of the code. 我认为问题出在代码结尾处的查询部分。 Any help would be appreciated. 任何帮助,将不胜感激。 Thanks. 谢谢。

 <?php require "connect.php"; ?>

    <?php
    session_start();
    if(isset($_SESSION["ID"])){
    }else{
        header('Location:login.php');
    }
    ?>

    <?php

        $User = $_SESSION["ID"];
        $result = $con->query("select * from BD where ID='$User'");
        $row = $result->fetch_array(MYSQLI_BOTH);

        $_SESSION["FirstName"] = $row['FirstName'];
        $_SESSION["LastName"] = $row['LastName'];
        $_SESSION["Email"] = $row['Email'];
        $_SESSION["UserName"] = $row['UserName'];
        $_SESSION["Password"] = $row['Password'];
    ?>

    <?php
        if(isset($_Post['Update'])){
            $UpdateFName = $_Post['FirstName'];
            $UpdateLName = $_Post['LastName'];
            $UpdateEmail = $_Post['Email'];
            $UpdateUName = $_Post['UserName'];
            $UpdatePassword = $_Post['Password'];


           $sql = $con->query("UPDATE BD SET FirstName = '{$UpdateFName}', LastName = '{$UpdateLName}', Email = '{$UpdateEmail}', UserName = '{$UpdateUName}', Password = '{$UpdatePassword}' where ID= $User");


         header('Location: update.php');

         }

    ?>

You have used the post method wrongly. 您错误地使用了post方法。 You should use post method like $_POST[''] not $_Post['']. 您应该使用$ _POST ['']之类的post方法,而不是$ _Post ['']。

if(isset($_POST['Update'])){
    $UpdateFName    = $_POST['FirstName'];
    $UpdateLName    = $_POST['LastName'];
    $UpdateEmail    = $_POST['Email'];
    $UpdateUName    = $_POST['UserName'];
    $UpdatePassword = $_POST['Password'];

    $sql = $con->query("
                 UPDATE BD SET 
                    FirstName = '$UpdateFName', 
                    LastName = '$UpdateLName', 
                    Email = '$UpdateEmail', 
                    UserName = '$UpdateUName', 
                    Password = '$UpdatePassword' 
                WHERE 
                    ID= '$User'"
                );
   header('Location: update.php');

}
<?php
    if (isset($_POST['Update'])) {
        $UpdateFName    = isset($_POST['FirstName']) ? $_POST['FirstName'] : '';
        $UpdateLName    = isset($_POST['LastName'])  ? $_POST['LastName']  : '';
        $UpdateEmail    = isset($_POST['Email'])     ? $_POST['Email']     : '';
        $UpdateUName    = isset($_POST['UserName'])  ? $_POST['UserName']  : '';
        $UpdatePassword = isset($_POST['Password'])  ? $_POST['Password']  : '';

        $sql = $con->query("UPDATE BD   SET 
                               `FirstName` = '$UpdateFName',
                               `LastName`  = '$UpdateLName', 
                               `Email`     = '$UpdateEmail', 
                               `UserName`  = '$UpdateUName', 
                               `Password`  = '$UpdatePassword'
                            WHERE 
                                `ID`      =  $User"
                );
        header('Location: update.php');
    }

首先,您应该包括错误,其次,您不必在查询中使用花括号,而无需使用花括号。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM