【问题标题】:MYSQL Using AND and WildcardMYSQL 使用 AND 和通配符
【发布时间】: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';

用户仅输入 BrandWrapper 并且它不会返回任何内容,正常因为其他 2 个字段中没有任何内容。如果我填写所有 4 个字段,它当然可以完美运行。在其他 2 个字段中可以使用什么作为通配符来满足所有 4 个字段都被填充并返回结果?我试过了 %。%, %''%, %*%。任何建议......

【问题讨论】:

  • 只是不要为未定义的添加AND field like "$field"
  • 为了匹配任何内容,您可以只使用一个 '%'。但是第一条评论是针对您的特定问题的更好解决方案。
  • 程序应根据用户输入动态构建查询。
  • 如果你有“用户输入”,它们在哪里?这是一个什么样的应用程序?我们需要更多信息才能为您提供帮助。有多种方法可以解决这个问题,但我们需要更多信息。
  • 它是 HTML 和 PHP 的组合。用户输入是通过 HTML 部分中的文本框,然后是 PHP 部分:$brandS=$_POST["brandS"];还有一些预防措施可以防止 SQL 注入。

标签: mysql wildcard


【解决方案1】:

isaace 答案是线索,“动态”这个词让我找到了一个之前已经回答过的解决方案。不得不在 {$field1} 到 '{$field1}' 上用单引号将其稍微调整一下,以此类推,字段 2 字段 3 等等。Crating a Dynamic Search

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-06
    • 2013-02-08
    • 2012-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-22
    相关资源
    最近更新 更多