Php 选择不存在pdo的位置

Php 选择不存在pdo的位置,php,mysql,pdo,Php,Mysql,Pdo,我有一个问题 SELECT * FROM `user` WHERE NOT EXISTS ( SELECT * FROM roleInEvent WHERE user.userId = roleInEvent.userId AND eventId = 1 ) AND user.disciplineId =5 每当我在mysql控制台中运行它时,它都会返回1行。这是正确的。 然而,在我的php脚本中,它返回零行,而它是完全相同的查询 我的php脚本如下所示: $db = Databa

我有一个问题

SELECT *
FROM  `user`
WHERE NOT
EXISTS (

SELECT *
FROM roleInEvent
WHERE user.userId = roleInEvent.userId
AND eventId = 1
)
AND user.disciplineId =5
每当我在mysql控制台中运行它时,它都会返回1行。这是正确的。 然而,在我的php脚本中,它返回零行,而它是完全相同的查询

我的php脚本如下所示:

    $db = DatabaseHelper::get();
    $st = $db->prepare('SELECT *
                        FROM  `user`
                        WHERE NOT
                        EXISTS (

                        SELECT *
                        FROM roleInEvent
                        WHERE user.userId = roleInEvent.userId
                        AND eventId = 1
                        )
                        AND user.disciplineId =5');
    $st->execute();

    if ($st->errorCode() !== \PDO::ERR_NONE) {
        return null;
    }

有人知道这里的问题是什么吗?

您也可以将
中的
一起使用,例如:

SELECT * FROM user WHERE id_user NOT IN ( SELECT other_data FROM roleInEvent WHERE user.userId = roleInEvent.userId AND eventId = 1 ) AND user.disciplineId =5
如果查询:
从roleInEvent中选择其他_数据,其中user.userId=roleInEvent.userId和eventId=1
为您带来了一些信息,则该结果不必存在于
用户
表中

另一个例子是:

用户表:

---------------------------
id_user | name_user
1         fernando
2         urban
在另一个表中,我们有块用户:

阻止用户:


因此,我只想为我带来block users表中不存在的用户:

查询将是:

SELECT * FROM Users WHERE id_user NOT IN ( SELECT id_user FROM blocked_users )
因此,我们得到的最后一个查询是:

id_user | name_user
2         john lennon
你好

解决方法很简单。
我忘了将结果返回到javascript

你怎么知道它返回零行?在您发布的代码中,您甚至没有尝试获取查询结果。一旦执行了查询,您必须使用某种形式的Fetch Wow来处理结果集。你帮了我很多。。。我用的是退货。。。它需要是我的javascriptOk的回音,所以它被回答了,是你自己回答的帖子吗?
id_user | name_user
2         john lennon