我正在开发一个小型社区页面,用户可以在其中发布新闻、图片并发表评论。我遇到的问题是,每当用户发布条目时,我当然希望用户名显示在条目旁边。 我在这里使用多个表,一个存储用户信息,另一个存储条目信息(新闻、评论、图片)。 现在,每当用户发布内容时,我都想从表 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/