php - 发布后显示用户名(php/mysql)

标签 php mysql sql session-variables

我正在开发一个小型社区页面,用户可以在其中发布新闻、图片并发表评论。我遇到的问题是,每当用户发布条目时,我当然希望用户名显示在条目旁边。 我在这里使用多个表,一个存储用户信息,另一个存储条目信息(新闻、评论、图片)。 现在,每当用户发布内容时,我都想从表 USER 中获取他的用户 ID,以便我可以将新行插入到我的表(在本例中)NEWS 中,该表需要值 Text、Title 和 U_ID 作为外键。 我正在处理 session ,并且由于简单地显示登录用户的名称没有问题,因此我尝试使用该用户从表中选择“他的”行并将结果放入我所在的变量($uid)中希望在另一个查询中使用 INSERT INTO。但是,根据我收到的错误消息,我的第一个查询出了问题。有人可以帮忙吗?

<?php
include("dbconnect.php");

session_start();

        if (isset($_SESSION['user'])) {
           $user = $_SESSION['user'];

        $sqluser = "SELECT FROM USER USER_ID
                    WHERE Name = '$user'";

        $userresult = $conn->query($sqluser)  or die($conn->error);

        while($row = $userresult->fetch_assoc()){
             $uid = $row["USER_ID"];
            }
        } else {

             header('Location: login.php');
        }

        if (isset($_POST["title"], $_POST["text"])) {
            $title = mysqli_real_escape_string($conn, $_POST["title"]);
            $text = mysqli_real_escape_string($conn, $_POST["text"]);
            $sql = "INSERT INTO NEWS (Titel, Text, U_ID) 
                    VALUES ('$title', '$text', '$uid')";
            }
    $conn->close();
 ?>

最佳答案

我认为您的查询有误

 $sqluser = "SELECT FROM USER USER_ID WHERE Name = '$user'";

应该是这样的

 $sqluser = "SELECT USER_ID FROM USER WHERE Name = '$user'";

关于php - 发布后显示用户名(php/mysql),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41609186/

相关文章:

sql - 从第一个条目到当前行条目的行日期之间的差异(以天为单位)

php - 如何在HTML5中实现简单的音频播放列表

MYSQL AND & OR优先级

php - 如何使用 Zend Framework 2 在模型中设置 2 个表名

mysql - 是否可以在 bool 模式和查询扩展下执行全文索引搜索?

数据库;查找和替换

sql按列中的特定值排序,而不是按字母顺序排列同一列的其余部分

php - 在不使用插件的情况下在 wordpress 编辑器中启用表格选项

php - 是什么原因导致 memcached 错误 10 ('server error' )?

php - 适用于 PHP,不适用于 PHPUnit