2016-05-24 13 views
0

私は簡単なブログで、私はいくつかのPHPとMySQLを練習しています。投稿者のユーザー名を表示しようとしています(作成者が投稿した場所を知っています)。 私は2つのテーブルblog_membersとblog_postsを持っていますので、1つに多く関係していますので、blog_postsにmemberIDフィールドがあります。投稿の作者であるメンバーのユーザー名を取得しようとしています。 私は参加することを考えていましたが、これを理解できません。 これは私がやろうとしていたものですが、正しく使用していないと確信しているため動作しません。データベースからユーザIDを取得

$query1 = "SELECT username from blog_members JOIN blog_posts ON memberID = memberID "; 
$result1 = mysqli_query($link, $query1); 
$row1 = mysqli_fetch_array($result1); 

PS:私は、ユーザーIDを取得するためにセッションを使用して、それは一つの方法を働いて得たが、それはユーザーがログインしている場合にのみ機能する場合されていないですが、私はどのような場合に名前を表示したいです。

ありがとうございます!

+0

テーブル名 'ON blog_members.memberID = blog_posts.memberID' – Saty

+0

私は$ user = row1 ['username']と仮定します。 echo $ user; '? –

答えて

0

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); 
+0

ありがとう!それは今働く。 –

0

INNER JOINをUSNG、このような何かを試してみてください:

$query1 = "SELECT blog_members.username FROM blog_members INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID "; 

参照:http://www.w3schools.com/sql/sql_join.asp

2

利用インナーこのよう

と一致

$query1 = "SELECT username 
from blog_members 
INNER JOIN blog_posts ON blog_members.memberID = blog_posts.memberID 
WHERE blog_posts.memberID = '" .$your_user_id . "';"; 
のための適切なサニタイズを使用する$ your_user_idとを結合します
関連する問題