php - 在同一语句中访问两个表?

标签 php mysql sql

我正在尝试创建一个投票系统,在检查您是否登录并获取您的用户 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/

相关文章:

php - 在 PHP 中输​​出真值表

javascript - Session::forget() 返回错误意外的 token

php :change timezone based on user

sql - 从同一个子查询中选择多个聚合结果

sql - 如何将 NULL 插入 SQL Server DATE 字段 *来自 XML*

mysql - "almost"重复条目的 SQL 查询(最后 3 列的值相同)

javascript - 通过javascript传递变量

php - 在第 2 行中查找特定值并显示第 3 行中的值

mysql - INSERT INTO ... SELECT ... 与在 MySQL 中转储/加载文件

MYSQL 不再通过 MAMP 在 Mac 上启动