简单的PHP查询问题:LIKE

pg.*_*pg. 0 php mysql sql-like

当我更换

$ordering = "apples, bananas, cranberries, grapes";
Run Code Online (Sandbox Code Playgroud)

$ordering = "apples, bananas, grapes";
Run Code Online (Sandbox Code Playgroud)

我不再希望我的查询返回蔓越莓了,我已经这样写了:

$query = "SELECT * from dbname where FruitName LIKE '$ordering'";
Run Code Online (Sandbox Code Playgroud)

当然这不起作用,因为我使用了LIKE错误.我已经阅读了各种描述如何使用LIKE的手册,这对我来说并没有多大意义.

如果我将数据库的末尾更改为"LIKE"apple"",它可以将其限制为仅限于苹果.我是否必须在","上分解排序,或者在查询中是否有办法执行此操作?

Pao*_*olo 8

LIKE通常用于部分匹配字符串,例如你使用

WHERE fruitname LIKE 'app%' 
Run Code Online (Sandbox Code Playgroud)

找到'苹果'和'苹果'.

你(可能)想要的是IN子句,例如

WHERE fruitname IN ('apples', 'bananas', 'grapes')
Run Code Online (Sandbox Code Playgroud)