Php 与mysql中的数字相反以文字显示的匹配
我有一个select语句,它试图从数据库中选择匹配项,但在我得到结果后,匹配项是以文字表示的,而不是以数字表示的Php 与mysql中的数字相反以文字显示的匹配,php,mysql,database,mysqli,Php,Mysql,Database,Mysqli,我有一个select语句,它试图从数据库中选择匹配项,但在我得到结果后,匹配项是以文字表示的,而不是以数字表示的 SELECT DATA , "CASE WHEN data LIKE '%one two%' THEN 2 ELSE CASE WHEN data LIKE '%one%' THEN 1 ELSE 0 END END END" AS 'matches' FROM remember LIMIT 0 , 30 结果: 列匹配: "CASE WHEN data LIKE '%
SELECT DATA ,
"CASE WHEN data LIKE '%one two%' THEN 2
ELSE CASE WHEN data LIKE '%one%' THEN 1
ELSE 0
END
END
END" AS 'matches'
FROM remember
LIMIT 0 , 30
结果:
列匹配:
"CASE WHEN data LIKE '%love%' THEN 2" ELSE CASE W...
"CASE WHEN data LIKE '%love%' THEN 2" ELSE CASE W...
"CASE WHEN data LIKE '%love%' THEN 2" ELSE CASE W...
2
1
0
预期结果:
列匹配:
"CASE WHEN data LIKE '%love%' THEN 2" ELSE CASE W...
"CASE WHEN data LIKE '%love%' THEN 2" ELSE CASE W...
"CASE WHEN data LIKE '%love%' THEN 2" ELSE CASE W...
2
1
0
您不需要多次使用CASE:
SELECT CASE WHEN data LIKE '%one two%' THEN 2
WHEN data LIKE '%one%' THEN 1
ELSE 0
END AS 'matches'
案例前的双引号是什么?这真的是一个真实的、不受限制的问题吗?@VolkerK-Huh?如果字符串前后没有双引号,数据库将抛出一个错误。使用这些引号,您将返回字符串文字作为结果。@VolkerK那么,您的建议是什么?@VolkerK我做错了什么?谢谢!我得找个地方开始了,很高兴我能帮上忙D