免责声明:我知道以前已经以各种格式提出了此要求,但是这些修复似乎对我不起作用,我希望它是一个简单的错字。
我想在mysqli_query中包括一个变量($ maxScore),但是不管怎么说,什么都没有发生。如果我只是在查询中输入数字,代码就会更新,因此我觉得它必须是我输入变量的方式。
我尝试了您在此处看到的格式,即使用standard分解查询。级联。我也尝试用引号。在查询中使用它之前,我需要对值做些什么吗?
作为参考,该代码采用今天的日期,检查距比赛结束日期还有多少天,并将玩家(或侦探)的得分设置为该数字。
我觉得可能需要将变量克隆为整数,但是我不确定如何。
<?php
include("../../config.php");
$suspect = $_POST['suspect'];
$currentPick = $_POST['currentPick'];
$username = $_POST['username'];
$cancelExistingVote = mysqli_query($conn, "UPDATE suspects SET votes = votes - 1 WHERE id='$currentPick'");
$updateCurrentPick = mysqli_query($conn, "UPDATE detectives SET currentPick = '$suspect' WHERE username ='$username'");
$addVoteToSuspect = mysqli_query($conn, "UPDATE suspects SET votes = votes + 1 WHERE id='$suspect'");
//The date that this "season" started (Y/m/d)
$startDate = new DateTime('2019/07/14');
$endDate = (clone $startDate)->modify('+14 days');
$today = new DateTime();
$maxScore = $endDate->diff($today);
// check guilt and update streak
$guiltQuery = $conn->query("SELECT guilt FROM suspects WHERE id = '$currentPick'");
while($accused = $guiltQuery->fetch_assoc()) {
if($accused['guilt']) {
$updateStreak = mysqli_query($conn, 'UPDATE detectives SET streak = ' . $maxScore . " WHERE username ='$username'");
}
}
我希望输出结果是使用maxScore进行的任何更新。