MySQL查询更新与PHP

时间:2019-03-17 06:10:03

标签: php mysql

请帮助我理解为什么此更新查询不会更新我的数据库记录?我知道有很多类似的问题,我也已经读过,但我仍然不知道怎么了...

这是我的输入方式:

<form class="mx-3 my-3" role="form" method="post" action="buka_akun.php">
        <div class="form-group">
            <label for="InputUserName" class="font-weight-bold">Username</label>
            <input type="text" class="form-control" name="inputUserName" id="inputUserName" aria-describedby="InputUserNameHelp" placeholder="Masukkan username Anda...">
        </div>          
        <button type="submit" class="btn btn-primary border-0 mr-2" name="buttonBukaAkun" style="background-color: rgba(18, 137, 167,1.0);">Buka Absen</button>
        <button type="submit" class="btn btn-primary border-0 mr-2" name="buttonTutupAkun" style="background-color: rgba(18, 137, 167,1.0);">Tutup Absen</button>
</form>

我的php:

<?php
    include("header.php");
    include("db_connect.php");

    $flag = 0;

    if(isset($_POST['buttonBukaAkun'])){
        $username = $_POST['inputUserName'];

        $query_buka_akun = "UPDATE 'user_login' SET 'activate' = '1' WHERE 'username' = '$username'";

        $result_buka_akun = mysqli_query($connection, $query_buka_akun);

        if($result_buka_akun){
            $flag = 1;
        }
    }

    if(isset($_POST['buttonTutupAkun'])){
        $username = $_POST['inputUserName'];

        $query_tutup_akun = "UPDATE 'user_login' SET 'activate' = '0' WHERE 'username' = '$username'";

        $result_tutup_akun = mysqli_query($connection, $query_tutup_akun);

        if($result_tutup_akun){
            $flag = 1;
        }
    }
?>

数据库表:

CREATE TABLE user_login(
id_login int(255) PRIMARY KEY AUTO_INCREMENT,
username varchar(255),
password varchar(255),
level varchar(255),
activate int(2));

2 个答案:

答案 0 :(得分:0)

您首先应该转义POST数据。

为什么在您的对帐单中使用'?

"UPDATE 'user_login' SET 'activate' = '1' WHERE 'username' = '$username'";

应该像

'UPDATE `user_login` SET `activate` = '1' WHERE `username` = '.$username;

答案 1 :(得分:0)

对于提交,将<button>标签替换为<input type='submit'>

<input type="submit" class="btn btn-primary border-0 mr-2" name="buttonBukaAkun" style="background-color: rgba(18, 137, 167,1.0);" value="Buka Absen" />

而且,不要将表的列名放在引号之间。

$query_buka_akun = "UPDATE user_login SET activate = '1' WHERE username = '$username'";