首先,我要说我在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:)
答案 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)";