0
$query = mysql_query("SELECT M.msg_id, M.uid_fk, M.message, M.created, U.full_name, U.profile_pic, U.username, U.uid FROM t_haps_wall M, t_users U, t_join_user F WHERE
        M.uid_fk=U.uid AND F.uid=U.uid AND M.uid_fk = F.uid AND F.status='joining' order by M.msg_id desc ") or die(mysql_error());

これがメッセージを表示するための私のSELECTコードであり、1つの条件を追加したいと思います。

AND M.uid_fk='$uid'

だから私はそれを私の完全なコードのどこに置くことができますか。私はすでに試しましたが、効果はありません。または何かが欠けている/間違ったコード?
助けてください。ありがとうございました

4

4 に答える 4

1

それをWHERE句に入れ、代わりに ANSI SQL-92 を次のように使用する必要があります。

SELECT 
  M.msg_id, 
  M.uid_fk, 
  M.message, 
  M.created,
  U.full_name, 
  U.profile_pic, 
  U.username, 
  U.uid 
FROM t_haps_wall       M
INNER JOIN t_users     U ON  M.uid_fk = U.uid
INNER JOIN t_join_user F ON  F.uid    = U.uid
WHERE F.status = 'joining' 
  AND M.uid_fk ='$uid' -- your condition here 
order by M.msg_id desc 

注意:この方法のコードはSQL インジェクションに対して脆弱です。代わりに PDO または準備済みステートメントを使用してください。詳細については、これを参照してください。

于 2012-11-21T08:54:44.643 に答える
0

*句の後の任意の場所に追加できます。WHEREこの更新されたクエリを試してください

$sql =
"
SELECT 
   M.msg_id, 
   M.uid_fk, 
   M.message, 
   M.created, 
   U.full_name, 
   U.profile_pic, 
   U.username, 
   U.uid 
FROM 
   t_haps_wall M, 
   t_users U, 
   t_join_user F 
WHERE 
   M.uid_fk=U.uid 
   AND F.uid=U.uid 
   AND M.uid_fk = F.uid 
   AND F.status='joining' 
   AND M.uid_fk='".$uid."'
ORDER BY 
   M.msg_id DESC
";

$query = mysql_query($sql);

※最後に追記しました。ただし、どこでも機能します。厳密には最適な方法ではありません。条件の配置は、多くの場合、クエリの実行効率に影響を与える可能性があります

于 2012-11-21T08:55:32.707 に答える
0

このような?..

$query = mysql_query("SELECT M.msg_id, M.uid_fk, M.message, M.created, U.full_name, U.profile_pic, U.username, U.uid FROM t_haps_wall M, t_users U, t_join_user F WHERE
    M.uid_fk=U.uid AND F.uid=U.uid AND M.uid_fk = F.uid AND F.status='joining' AND M.uid_fk=".$uid." order by M.msg_id desc ") or die(mysql_error());

M.uid_fk=".$uid."私はあなたがあなたの状態に置きたいと思っていたと思っていましたWHERE。(.) 演算子は、クエリが二重引用符で囲まれているため、実際には必要ありませんが、とにかく使用するのが好きです。

于 2012-11-21T08:53:30.590 に答える
0

この質問をする前に最初に検索した方がよかったでしょう::

とにかく :: NEW_COLUMN の配置を確認してください

$query = mysql_query("SELECT M.msg_id, M.uid_fk, M.message, M.created, U.full_name, U.profile_pic, U.username, U.uid, NEW_COLUMN FROM t_haps_wall M, t_users U, t_join_user F WHERE
        M.uid_fk=U.uid AND F.uid=U.uid AND M.uid_fk = F.uid AND F.status='joining' order by M.msg_id desc ") or die(mysql_error());
于 2012-11-21T08:54:25.143 に答える