数据库不会使用 php 格式更新值


Database won't update values with php form

我正在尝试制作一个小表单,可以从我的数据库中更新值,但它就是不起作用。我已经阅读了有关此主题的所有不同问题和答案,但我无法使其正常工作。

这是我的代码:

    <?php
    include_once("php_includes/check_login_status.php");
    $u = "";
    $country = "";
    if(isset($_GET["u"])){
        $u = preg_replace('#[^a-z0-9]#i', '', $_GET['u']);
    } else {
        header("location: index.html");
        exit(); 
    }
//A lot of other code for other queries
        $sql = "SELECT * FROM users WHERE username='$u' AND activated='1'";
        $user_query = mysqli_query($db_conx, $sql);
        mysqli_query($db_conx,"UPDATE  SET country='$_POST[country]' WHERE username='$_POST[u]' ");
        if($result){
        echo "succesful";
        }
        else {
        echo "ERROR";
        }
        ?>
        <form method="post" /> 
            <p><span>Country: </span><input type="text" name="country" id="country" value="<?php echo $country; ?>"></p>
             <p><input class="Submit" name="submit"type="submit"  value="Save">
        </form>

有人能看到我的代码出了什么问题吗?谢谢!

$country = $_POST['country'];
mysqli_query($db_conx,"UPDATE users SET country='$country' WHERE username='$u' ");

您没有在更新语句中提及该表。并且$_POST姓名必须用[] 引用。

更新查询中缺少表名:

mysqli_query($db_conx,"UPDATE table SET country='{$_POST['country']}' WHERE username='{$_POST['u']}' ");