$FSQL = $pdo->query('SELECT * FROM `connections` WHERE `uid`="'.$my_id.'" && `type`="1" ORDER by `id` DESC');
$myfriends = '`uid`="'.$my_id.'" ';
while($po = $FSQL->fetch(PDO::FETCH_ASSOC)){
$myfriends .= ' || `uid`="'.$po['cid'].'"';
}
$dsk = $pdo->query("SELECT * FROM `posts` WHERE ".$myfriends." ORDER by `id` DESC LIMIT ".$limitCount);
我一直在尝试创建一个不错的帖子流,最后我的代码被删除了。但是如果你有大量的连接(连接是来自朋友,页面或事件的任何东西),它似乎效率很低。
有人能告诉我是否有更好的方法吗?
- 顺便说一句:这已经完全正常,但我觉得我会遇到问题
答案 0 :(得分:0)
$FSQL = $pdo->query('SELECT * FROM
{连接{1}} {UID {1}}输入WHERE
ID为="'.$my_id.'" &&
这很容易被SQL Injection攻击。您应该使用参数和预准备语句。请参阅Documentation。
工作示例
="1" ORDER by
答案 1 :(得分:0)
您不想使用子查询? 像这样......
$dsk = $pdo->query(
"SELECT *
FROM `posts`
WHERE uid IN (
SELECT cid
FROM `connections`
WHERE `uid`="'.$my_id.'" && `type`="1"
)
ORDER BY `id` DESC LIMIT " . $limitCount);
当您不需要所有字段时,尽量不要使用*
。