从数据库中获取用户ID
Get userID from database
我有一个简单的博客,我正在练习一些 php 和 mysql。我正在尝试显示 post 作者的用户名(你知道它在哪里写着 posted by Author)。
我有两个表 blog_members 和 blog_posts,它们一对多相关,所以我在 blog_posts 中得到了一个 memberID 字段。我正在尝试获取 post 的作者成员的用户名。
我正在考虑加入或做些什么,但我无法弄清楚。
这是我尝试做的,但它不起作用,因为我确定我没有正确使用它。
$query1 = "SELECT username from blog_members JOIN blog_posts ON memberID = memberID ";
$result1 = mysqli_query($link, $query1);
$row1 = mysqli_fetch_array($result1);
PS:我通过使用 SESSION 获取用户 ID 来实现一种工作方式,但只有在用户登录时才有效,但事实并非如此,我想在任何情况下都显示名称。
谢谢!
尝试这样的事情,使用 INNER JOIN
:
$query1 = "SELECT blog_members.username FROM blog_members INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID ";
这样使用内连接
并通过适当的清理使用 $your_user_id 匹配
$query1 = "SELECT username
from blog_members
INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID
WHERE blog_posts.memberID = '" .$your_user_id . "';";
您的查询中的 JOIN 语法错误。
使用以下查询:
$query1 = "SELECT username from blog_members JOIN blog_posts ON blog_members.memberID = blog_posts.memberID ";
$result1 = mysqli_query($link, $query1);
$row1 = mysqli_fetch_array($result1);
这是一个使用简单 WHERE 条件的解决方案(性能相同 Explicit vs implicit SQL joins):
SELECT a.username FROM blog_members a, blog_posts b WHERE a.memberID = b.memberID
但是,如果您需要有关 MySQL 的更多信息,请加入:https://www.sitepoint.com/understanding-sql-joins-mysql-database/
希望对您有所帮助!
我有一个简单的博客,我正在练习一些 php 和 mysql。我正在尝试显示 post 作者的用户名(你知道它在哪里写着 posted by Author)。 我有两个表 blog_members 和 blog_posts,它们一对多相关,所以我在 blog_posts 中得到了一个 memberID 字段。我正在尝试获取 post 的作者成员的用户名。 我正在考虑加入或做些什么,但我无法弄清楚。 这是我尝试做的,但它不起作用,因为我确定我没有正确使用它。
$query1 = "SELECT username from blog_members JOIN blog_posts ON memberID = memberID ";
$result1 = mysqli_query($link, $query1);
$row1 = mysqli_fetch_array($result1);
PS:我通过使用 SESSION 获取用户 ID 来实现一种工作方式,但只有在用户登录时才有效,但事实并非如此,我想在任何情况下都显示名称。
谢谢!
尝试这样的事情,使用 INNER JOIN
:
$query1 = "SELECT blog_members.username FROM blog_members INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID ";
这样使用内连接
并通过适当的清理使用 $your_user_id 匹配
$query1 = "SELECT username
from blog_members
INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID
WHERE blog_posts.memberID = '" .$your_user_id . "';";
您的查询中的 JOIN 语法错误。
使用以下查询:
$query1 = "SELECT username from blog_members JOIN blog_posts ON blog_members.memberID = blog_posts.memberID ";
$result1 = mysqli_query($link, $query1);
$row1 = mysqli_fetch_array($result1);
这是一个使用简单 WHERE 条件的解决方案(性能相同 Explicit vs implicit SQL joins):
SELECT a.username FROM blog_members a, blog_posts b WHERE a.memberID = b.memberID
但是,如果您需要有关 MySQL 的更多信息,请加入:https://www.sitepoint.com/understanding-sql-joins-mysql-database/
希望对您有所帮助!