我正在开发一个小型社区页面,用户可以在其中发布新闻,图片和评论。我遇到的问题是,每当用户发布条目时,我当然希望在条目旁边显示用户名。 我在这里使用多个表,一个存储用户信息,一些存储条目信息(新闻,评论,图片)。 现在每当用户发布一些内容时,我想从表USER中获取他的用户ID,这样我就可以在我的表中插入一个新行(在本例中)NEWS,它希望将值Text,Title和U_ID作为外键。 我正在使用会话,因为我只是显示登录用户的名字没有问题,我试图使用该用户选择"他的"表中的行并将结果放入一个变量($ 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();
?>
答案 0 :(得分:2)
我认为您的查询中存在错误
$sqluser = "SELECT FROM USER USER_ID WHERE Name = '$user'";
应该是这样的
$sqluser = "SELECT USER_ID FROM USER WHERE Name = '$user'";