如何在php中使用post方法更新mySQL数据库

如何在php中使用post方法更新mySQL数据库,php,mysql,Php,Mysql,我已经为一个网站创建了一个排行榜,显示用户在游戏中的高分。但是当用户去编辑他们的高分时,数据库或屏幕上的分数都不会改变。有人知道如何使用post方法更新数据库吗。我的代码如下 require_once('../sokodatabase.php'); //require_once('../sokodatabase.php'); //require_once('../sokodatabase.php'); if(isset($_POST['userId'])){ i

我已经为一个网站创建了一个排行榜,显示用户在游戏中的高分。但是当用户去编辑他们的高分时,数据库或屏幕上的分数都不会改变。有人知道如何使用post方法更新数据库吗。我的代码如下

require_once('../sokodatabase.php');

//require_once('../sokodatabase.php');
//require_once('../sokodatabase.php');
        if(isset($_POST['userId'])){
        if ($_SERVER['REQUEST_METHOD'] === 'POST') {
                $query = "
                UPDATE leaderboardhighscores
                SET highScores=".$_POST["highScores"].", rankNo=".$_POST["rankNo"]."
                WHERE userId=".$_POST["userId"];

            var_dump($_POST); 
            echo $query;

            @mysqli_query($dbc, $query);
        }
        }
$manager = new DatabaseManager;
$manager->SelectHighScores();
?>

<form method="post" action="highScores.php">
    high score <input type="text" name="highScores"/>
    rankNo <input type="text" name="rankNo"/>
    userId <input type="text" name="userId"/>
    <input type="submit" value="Submit">
</form>  
require_once('../sokodatabase.php');
//需要_一次('../sokodatabase.php');
//需要_一次('../sokodatabase.php');
如果(isset($\u POST['userId'])){
如果($\u服务器['REQUEST\u METHOD']='POST'){
$query=”
更新排行榜高分
设置highScores=“.$\u POST[“highScores”]。”,rankNo=“.$\u POST[“rankNo”]”
其中userId=“.$\u POST[“userId”];
变量转储($\u POST);
echo$query;
@mysqli_查询($dbc,$query);
}
}
$manager=新数据库管理器;
$manager->SelectHighScores();
?>
高分
兰克诺
用户ID
您必须关注SQL注入

通常,您会检查“提交”按钮:

<input type="submit" name="submit" value="Submit">
转到:

if(isset($_POST['submit'])){
如果您的查询不起作用,您可以使
die($query)
查看它并通过phpMyAdmin执行它。或者您可以使用
mysqli\u error
显示执行后发生的任何错误

请注意,在代码中只能使用数值。如果字段不是数字,则应使用以下选项:

$query = "
            UPDATE leaderboardhighscores
            SET highScores='".mysqli_real_escape_string($dbc, $_POST["highScores"])."', rankNo='".mysqli_real_escape_string($dbc, $_POST["rankNo"])."'
            WHERE userId=".intval($_POST["userId"]);
需要提交输入类型的名称才能提交表单…


如果(isset($\u POST['userId']))

您在$\u POST数组中得到的任何东西是否可能重复?
$query = "
            UPDATE leaderboardhighscores
            SET highScores='".mysqli_real_escape_string($dbc, $_POST["highScores"])."', rankNo='".mysqli_real_escape_string($dbc, $_POST["rankNo"])."'
            WHERE userId=".intval($_POST["userId"]);
 <input type="submit" name="userId" value="Submit">

 if(isset($_POST['userId']))