Mysql 基于不同的输入得到相同的结果
让我重新提出我的问题。我想我前面的问题可能会让人困惑。 很抱歉给你带来了困惑 我有一个名为vuln_info的表,我正在尝试根据vuln_名称进行查询 如果我这样问Mysql 基于不同的输入得到相同的结果,mysql,database,Mysql,Database,让我重新提出我的问题。我想我前面的问题可能会让人困惑。 很抱歉给你带来了困惑 我有一个名为vuln_info的表,我正在尝试根据vuln_名称进行查询 如果我这样问 SELECT vuln_id FROM vuln_info where vuln_name="Self-Signed SSL/TLS Certificate" 我喜欢划船 vuln_id vuln_name 100 Self-Signed SSL/TLS Certificate 它返回vuln_id(100),因为v
SELECT vuln_id FROM vuln_info where vuln_name="Self-Signed SSL/TLS Certificate"
我喜欢划船
vuln_id vuln_name
100 Self-Signed SSL/TLS Certificate
它返回vuln_id(100),因为vuln_名称与输入完全匹配
但是,输入可以是可变的。可能是
“存在自签名SSL/TLS证书”或“包含自签名SSL/TLS证书的机器自签名SSL/TLS证书”
即使输入有额外的字符串,编写查询以获取vuln_id(100)的方法是什么
请检查此链接
谢谢。如果您想使用类似like但反向的行为搜索它,您也可以尝试反向搜索:
SELECT vuln_id
FROM vuln_info
WHERE "present Self-Signed SSL/TLS Certificate" like CONCAT('%', vuln_name, '%');
你可以用你的输入改变你喜欢的左边的文本
请在此查看它的工作情况尝试以下操作:
SELECT vuln_id
FROM vuln_info
WHERE vuln_name like "%Self-Signed SSL/TLS Certificate%"
对于字符串搜索,我们使用
like
运算符
SELECT vuln_id FROM vuln_info
WHERE vuln_name LIKE '%Self-Signed SSL/TLS Certificate%';
您必须根据需要使用%op。如果要匹配字符串中的随机词,请查看MySQL的全文索引。我认为它可以做你想做的事情。我认为这就是像
这样的操作符,因为所有输入都包含“自签名SSL/TLS证书”。mysql中是否有任何匹配或包含函数?我试图将vuln_名称(如“%$input%”)放在哪里,如果input中有多余的字,则不会返回任何内容。vuln_名称(如“%Self-Signed SSL/TLS Certificate%”)应该放在哪里