数据库不会使用php表单更新值

时间:2015-06-14 09:19:26

标签: php html mysql forms

我正在尝试制作一个可以从我的数据库更新值的小表单,但它只是不起作用..我已经阅读了关于这个主题的所有不同的问题和答案,但我无法得到它上班。

这是我的代码:

    <?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>

任何能看到我的代码有什么问题的人?谢谢!

2 个答案:

答案 0 :(得分:1)

更新查询中缺少表名:

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

答案 1 :(得分:1)

$country = $_POST['country'];

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

您没有在update语句中提及该表。必须在$_POST中引用[]名称。