我在查询的Where语句中有AND运算符,我怎么知道哪条语句没有返回

问题描述 投票:0回答:1

我有一个 php 代码 SQL 查询就像

其中 和 是用户将在表单中输入的变量。 我有一个数据库,其中有特定的 gpm 值和特定的 ewt 值 例如,值范围为 1-5,差异为 0.5,例如:1,1.5,2,2.5 等 ewt 的值范围为 30-100,相差 10,例如:30,40,50

因此,如果用户输入 nd ,它会从数据库返回值 但如果用户输入 gp 和 ewt 因为它返回我未找到 我怎么知道数据库没有找到 gpm 而找到了 ewt

提前致谢

php mysql where-clause
1个回答
2
投票

首先,使用准备好的语句,请参阅如何在 PHP 中防止 SQL 注入?

使用

OR
代替
AND
,并测试哪个在
SELECT
列表中匹配。

$command = "SELECT *, gpm = :uniluxGpm AS gpm_found, ewt = :uniluxEwt AS ewt_found from {$uniluxModel} where gpm = :uniluxGpm OR ewt = :uniluxEwt";
$stmt = $conn->prepare($command);
$stmt->execute([':uniluxGpm' => $uniluxGpm, ':uniluxEwt' => $uniluxEwt]);
© www.soinside.com 2019 - 2024. All rights reserved.