PHP mysqli增加价值

时间:2019-02-14 17:53:38

标签: php

首先,我要说我在php,mysqli上是初学者,但我想学习。 我正在尝试构建一个测验脚本,将“ SCORE”信息存储到数据库中。

我有以下“ final.php”页面脚本,该脚本将用户的当前分数收集并插入数据库。 我需要的是我希望保留数据库“例如:213”的当前分数,并且随着当前会话分数的增加将是“例如:10”,因此此后的总分数将是“ 213(旧)+ 10(当前)= 223(总计)

<?php
$servername = "localhost";
$username = "";
$password = "";
$dbname = "";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

$sql = "UPDATE users SET scor='".$_SESSION['score']."' WHERE id=2";

if ($conn->query($sql) === TRUE) {
    echo "Record updated successfully";
} else {
    echo "Error updating record: " . $conn->error;
}

$conn->close();
?>

该代码一切正常,但是我所需要的只是增加分数。 谢谢大家的耐心,也因为您了解我,我才是乞be:)

2 个答案:

答案 0 :(得分:0)

您可以通过将金额添加到数据库中来更新数据库中的现有值。无需先选择分数。

在您的示例中:

UPDATE users SET scor=scor + '".$_SESSION['score']."' WHERE id=2

这可以通过sql注入来利用,但是超出了问题的范围。

答案 1 :(得分:0)

您可以使用以下语句

$sql = "SELECT scor FROM users (UPDATE users SET scor= scor + '".$_SESSION['score']."' WHERE id=2)";