我正在尝试制作一个小表单,可以从我的数据库中更新值,但它就是不起作用。我已经阅读了有关此主题的所有不同问题和答案,但我无法使其正常工作。
这是我的代码:
<?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']}' ");