1

私は 2 つの異なるテーブルを持っています。1 つはコメントを保持し、もう 1 つはユーザー情報です。最初の mysqli_prepare ステートメントは次のようになります。

    if($stmt = mysqli_prepare($mysqli, "SELECT text,username,id,likes,dislikes FROM post WHERE school = '$sname' ORDER BY id DESC LIMIT 0,10"))

もう一つはこんな感じ

   if($stmts = mysqli_prepare($mysqli, "SELECT avatar FROM users WHERE username = '$user'"))

基本的に、これら2つのステートメントを組み合わせて、同じwhileループで両方のセットにアクセスできるようにする必要があります。これは次のようになります

    while(mysqli_stmt_fetch($stmt))

事前に感謝します。投票します。

4

2 に答える 2

2

共通フィールド username に対する JOIN 操作

SELECT post.text,post.username,post.id,post.likes,post.dislikes FROM post 
INNER JOIN users 
ON post.username = users.username
WHERE post.school = '$sname' 
AND users.username = '$user'
ORDER BY post.id DESC LIMIT 0,10
于 2012-12-04T03:05:14.410 に答える
1

SQL でこれを行うには、 を使用してクエリを組み合わせる必要がありますJOIN

いくつかの仮定を行うと、次の例が表示されます。

SELECT ... FROM post JOIN users ON post.username = users.username WHERE ...

注:別の方法SELECTとして、データを分離し (お持ちのように) 、データをPHPでつなぎ合わせることができます。これは、複雑な よりも好まれる場合がありJOINます。しかし、あなたが持っているものは問題ないようです。

于 2012-12-04T02:54:39.413 に答える