我正在尝试创建一个投票系统,在检查您是否登录并获取您的用户 ID 后,它会检查表中是否有您的用户 ID 以及已在其中的帖子 ID,如果有,则它意味着它已经被投票了。我只是想知道我的代码出了什么问题,这是用于学习的,我不需要任何复杂的东西。
代码:
if (isset($_GET['upvote'])) {
if ($_SESSION["loggedin"] == true) {
$upvoteid = $_GET["upvote"];
$servername = "";
$username = "";
$password = "";
$dbname = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT id FROM users WHERE username=".$_SESSION["loggedinusername"];
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$userid = $row["id"];
}
$sql2 = "SELECT userid, postid FROM upvotedposts WHERE userid='".$userid."' AND postid='".$upvoteid."'";
$result2 = $conn->query($sql);
if (!$result2->numrows > 0) {
$sql = "UPDATE posts SET upvotes = upvotes + 1 WHERE id = ".$upvoteid;
if ($conn->query($sql) === TRUE) {
echo "Sucessfully upvoted";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
}
} else {
echo "Failed;
}
$conn->close();
}
}
当我单击“赞成”按钮时,它什么也没做。这里的问题是,据我所知,它看起来可行,但我可能会忘记一些我不知道的东西或错误地使用某些东西。
最佳答案
您缺少结束语"
echo "Failed;
应该是:
echo "Failed";
关于php - 在同一语句中访问两个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44852829/