我正在尝试制作一个可以从我的数据库更新值的小表单,但它只是不起作用..我已经阅读了关于这个主题的所有不同的问题和答案,但我无法得到它上班。
这是我的代码:
<?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>
任何能看到我的代码有什么问题的人?谢谢!
答案 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
中引用[]
名称。