使用MySQL在PHP中选择具有非禁止帐户的字符

使用MySQL在PHP中选择具有非禁止帐户的字符,php,mysql,Php,Mysql,我有两张桌子: 帐户[id,名称]和 字符[id、帐户id、名称] 实际上,我正在使用此查询选择所有字符: SELECT * FROM characters 如果该字符的accountid被禁止或未使用相同的查询,如何从帐户中进行检查?我尝试使用连接查询(这看起来是最好的方式),但无法让它们工作。以下是我尝试过的: SELECT * FROM characters WHERE accounts.banned = 0 INNER JOIN accounts ON accounts.id = ch

我有两张桌子:

帐户[id,名称]和 字符[id、帐户id、名称]

实际上,我正在使用此查询选择所有字符:

SELECT * FROM characters
如果该字符的accountid被禁止或未使用相同的查询,如何从帐户中进行检查?我尝试使用连接查询(这看起来是最好的方式),但无法让它们工作。以下是我尝试过的:

SELECT * FROM characters WHERE accounts.banned = 0 INNER JOIN accounts
ON accounts.id = characters.accountid;

这表明没有结果。我做错了什么?

JOIN
应该在
WHERE
子句之前

SELECT * FROM characters 
INNER JOIN accounts ON accounts.id = characters.accountid 
WHERE accounts.banned = 0;

您的查询是错误的。您正在使用
where
之前的
join
。试试这个:

SELECT * FROM characters INNER JOIN accounts
ON accounts.id = characters.accountid WHERE accounts.banned = 0;
请参阅本手册了解加入:

您可以尝试:

SELECT c.* FROM characters c,accounts a WHERE a.banned = 0 and a.id = c.accountid

@Alessandro:使用建议的内部查询