0

我正在尝试从对数据库的查询中获取结果,但 LIMIT 不起作用。当我输入 LIMIT 10 时,它不会返回任何结果。我在这里错过了什么吗?

这是我的代码。我试图弄清楚这种奇怪行为的原因是什么。

$username = "derek";
$query = $conn->prepare('SELECT * FROM notifications WHERE (needs=:username OR worker=:username1) ORDER BY CASE WHEN needs=:username2 THEN needsread ELSE workerread END, time DESC LIMIT 10');

$query->bindParam(':username', $username);
$query->bindParam(':username1', $username);
$query->bindParam(':username2', $username);
$query->execute();
4

1 回答 1

1

最终成为我的 if 语句。我得到了结果,但是在过滤了我的 if 语句之后,我想显示的 10 个结果不应该显示。因此,在将我的查询修复到数据库之后,它就可以工作了。这是我的查询:

$workneed = "workneed";
$follow="follow";

$query = $conn->prepare('SELECT * FROM notifications WHERE CASE WHEN needs=:username THEN type=:workneed END OR CASE WHEN worker=:username THEN type=:follow END ORDER BY CASE WHEN needs=:username THEN needsread ELSE workerread END, time DESC LIMIT 10');
$query->bindParam(':username', $username);
$query->bindParam(':workneed', $workneed);
$query->bindParam(':follow', $follow);
$query->execute();
于 2013-09-18T05:00:49.900 回答