如何在两个`WHERE`中找到数据库中的行?

时间:2018-03-01 01:35:26

标签: mysql

输出应基于用户的名称和用户的状态。我试着用:

$mysql = "SELECT * FROM database WHERE name='$name', status='$status'";

$mysql = "SELECT * FROM database WHERE name='$name' AND status='$status'";

但它不起作用......

1 个答案:

答案 0 :(得分:1)

状态可能是保留字。 AND 是关键。为清晰起见,我建议使用括号。在MySQL中(在其他SQL中有所不同),您可以使用反引号强制关键字和其他奇怪的语法工作。 Plus {}有助于保持PHP方面的清洁。我假设您正在使用基于$ variables的PHP。

$mysql = "SELECT * FROM `database` WHERE (`name`='{$name}') AND (`status`='{$status}'";

我相信其他人会更好地编写查询来避免SQL注入,这是一个真正的问题。但这是基本语法。