-1

これは、ques n ans ページのデータベース デザインです。ユーザーは何回でも質問でき、1 つの質問に対してできるだけ多くの回答を受け取ることができます。すなわち。1 つの質問と多くの回答。

私が知りたいのは、特定のデータベースの回答を取得するために必要なmysql クエリだけです。また、結果の送信と取得に関与するphp コード。

データベースの設計:

create table user (
 name varchar(14) not null.
 id int(11) auto_increment;

CREATE TABLE questions (
 question_id int(11) NOT NULL AUTO_INCREMENT,
 user_id int(11) references user(id),
title varchar(255),
content text, 
PRIMARY KEY (question_id);

CREATE TABLE answers (
answer_id int(11) NOT NULL AUTO_INCREMENT,
question_id int(11) REFERENCES questions(question_id),
content text,
PRIMARY KEY (answer_id);
4

1 に答える 1

0

特定の質問の ID が既にわかっている場合は、その question_id を持つすべてのレコードを選択するだけですanswers。質問の他の属性に基づいて選択している場合は、関連するすべての回答を取得するために、questionsからその質問を選択します。LEFT JOIN answers on questions.question_id = answers.question_id

PHP コードについては、mysqli または PDO を参照してください。これは、クエリを実行してから結果を取得する典型的なケースです。DB 接続の作成方法についてはこのページの例 1を、非常に単純なクエリの例についてはこのページの例 1 を確認してください。ただし、ユーザーが指定した文字列を検索している場合、そのような単純なクエリは巨大なセキュリティ ホールを作成することに注意してください! 代わりに prepare() 関数を使用してください。

于 2012-09-29T22:30:38.103 に答える