1

テーブルには、投稿を表示できるユーザーを格納するフィールドがあります。93849038,39480398コンマでユーザーを区切る ようなものがあります。

だから、これは私がやろうとしていることです:

$user = logged in user; example: 93849038.

そして、これは私のクエリがどのように見えるかです:

 $sql = "SELECT note FROM notes_are WHERE user_allowed = '$user' ORDER 
 BY id DESC LIMIT 0, 3";

そのような構造を使用すると、投稿を提供できません。

4

1 に答える 1

1

これは、データベース エンジンがテーブルのすべての行を検査することを強制するため、推奨される方法ではありません。メモへのアクセス権を持つ各ユーザーが個別にリストされているアクセス権テーブルを作成することをお勧めします (ユーザー列にも必ずインデックスを付けてください)。

本当に必要な場合は、LOCATE文字列関数を使用できます (MySQL を想定): http://dev.mysql.com/doc/refman/5.5/en/string-functions.html#function_locate

もちろん、LOCATEカンマ区切りのものを気にしないため、問題もあります。したがって、「より良い」アプローチは次のようになりREGEXPます

于 2012-05-07T18:27:34.347 に答える