【发布时间】:2019-02-19 16:20:01
【问题描述】:
SQL 语句为:
SELECT *
FROM cigardata
WHERE Brand LIKE '$brandS'
AND Style LIKE '$styleS'
AND Wrapper LIKE '$wrapperS'
AND UPC LIKE '$upcS';
用户仅输入 Brand 和 Wrapper 并且它不会返回任何内容,正常因为其他 2 个字段中没有任何内容。如果我填写所有 4 个字段,它当然可以完美运行。在其他 2 个字段中可以使用什么作为通配符来满足所有 4 个字段都被填充并返回结果?我试过了 %。%, %''%, %*%。任何建议......
【问题讨论】:
-
只是不要为未定义的添加
AND field like "$field"? -
为了匹配任何内容,您可以只使用一个 '%'。但是第一条评论是针对您的特定问题的更好解决方案。
-
程序应根据用户输入动态构建查询。
-
如果你有“用户输入”,它们在哪里?这是一个什么样的应用程序?我们需要更多信息才能为您提供帮助。有多种方法可以解决这个问题,但我们需要更多信息。
-
它是 HTML 和 PHP 的组合。用户输入是通过 HTML 部分中的文本框,然后是 PHP 部分:$brandS=$_POST["brandS"];还有一些预防措施可以防止 SQL 注入。