データベースについて質問です。
現在、Twitterの簡易版を作っており
membersというテーブルとpostsというテーブルを二つ作成し、
membersテーブルには登録車情報
postsテーブルには投稿内容
を保存しております。
登録者の情報内容を使って誰が投稿したのかを分かりたいのですが、
membersテーブルとpostsテーブルでidが違っている状況です。
INSERT分を使っています。
if(!empty($_POST)){ if($_POST['message'] !==''){ $message = $db->prepare('INSERT INTO posts SET member_id=?,message=?,created=NOW()'); $message->execute(array( $member['id'], $_POST['message'] )); }
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答4件
0
ベストアンサー
登録者の情報内容を使って誰が投稿したのかを分かりたいのですが、
membersテーブルとpostsテーブルでidが違っている状況です。
何を持って違うといっているのかわかりませんが、それは想定された動作です。
idは一意のものとなりますので、複数あってはいけません。
おそらく行いたい事はリレーションなのではないでしょうか。
postsテーブルではユーザのidを紐付けるのがmember_idカラムになります。
またこの時
membersテーブルとpostsテーブルはテーブルは1対多の関係になります。
ER図ではないですが、表でも理解しやすくなると思います。ここでいう黄色で塗り潰されているところがリレーションとして紐づいています。
蛇足
一般的にはメンバーという意味だとまた違ってくるのでuser_idというカラムでテーブルはusersテーブルの方が適切かと思います。
おそらくもう一度構造を考え直す必要があると思います。
投稿2020/10/10 13:47
編集2020/10/10 14:33総合スコア2076
0
membersテーブルのidとpostsテーブルのmember_idが連携できていれば、OKだと思いますよ。
あああああ を投稿した人が比嘉さんであれば、正常に機能しているはずです。
投稿2020/10/10 12:58
総合スコア979
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 13:16
2020/10/10 13:24
2020/10/10 13:26
2020/10/10 13:37
2020/10/10 13:38
2020/10/10 13:43
2020/10/10 13:48
2020/10/10 13:50
2020/10/10 14:00
2020/10/10 14:03
0
postテーブルのINSERT文にidを指定していないですか?
INSERT文を出すのが難しければ、エラーを教えてもらえると、回答がしやすいと思います。
投稿2020/10/10 13:20
総合スコア179
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 13:22
2020/10/10 13:28 編集
2020/10/10 13:30 編集
2020/10/10 13:35
2020/10/10 13:37
2020/10/10 13:42
2020/10/10 13:57
2020/10/10 13:59
2020/10/10 14:01
2020/10/10 14:02
2020/10/10 14:03
2020/10/10 14:12
0
membersテーブルとpostsテーブルでidが違っている状況です。
テーブルが違えばIDが異なるのは当然です。
IDはIdentifierという意味で、同じグループ内(この場合はテーブル内)で個別の値を識別するためのものです。
ここで迷うのは、例えば「部署のID」と「職員のID」は同じじゃないのか?と言っているようなものです。
投稿2020/10/10 12:52
総合スコア8947
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 12:58
2020/10/10 13:02
2020/10/10 13:12
2020/10/10 13:12
2020/10/10 13:17
2020/10/10 13:30
2020/10/10 13:39
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/10 13:52
2020/10/10 13:54
2020/10/10 14:07
2020/10/10 14:10
2020/10/10 14:12
2020/10/10 14:14
2020/10/10 14:14
2020/10/10 14:16
2020/10/10 14:17
2020/10/10 14:19
2020/10/10 14:25
2020/10/10 14:31 編集