我有一个 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 中防止 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]);