0 レビュー
1 回答
投稿後にユーザー名を表示する(php / mysql)
私は、ユーザーがニュースや写真を投稿したり、コメントしたりできる小さなコミュニティページに取り組んでいます。私が立ち往生している問題は、ユーザーがエントリを投稿するたびに、もちろんユーザー名をエントリの横に表示したいということです。 私はここで複数のテーブルを操作しています。1つはユーザー情報を格納し、いくつかはエントリ情報(ニュース、コメント、写真)を格納します。 これで、ユーザーが何かを投稿するたびに、ユーザーIDをテーブルUSERから取得して、テーブル(この場合)NEWSに新しい行を挿入できるようにします。これにより、Text、Title、およびU_IDの値が外部キーとして必要になります。 。 私はセッションで作業していますが、ログインユーザーの名前を表示するだけで問題がなかったので、そのユーザーを使用してテーブルから「彼の」行を選択し、結果を変数($ uid)に入れようとしました。 INSERTINTOの別のクエリで使用したいと考えています。ただし、表示されるエラーメッセージによると、最初のクエリに問題があります。誰か助けてもらえますか?
<?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
レビュー
答え :
解決策:
クエリに誤りがあると思います
$sqluser = "SELECT FROM USER USER_ID WHERE Name = '$user'";
このようにする必要があります
$sqluser = "SELECT USER_ID FROM USER WHERE Name = '$user'";
わからない
同様の質問
私たちのウェブサイトで同様の質問で答えを見つけてください。