mysql只有%like%工作

vhmi4jdf  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(274)

我有一个专栏,里面有不同的主题。列是varchar(255)utf8\u general\u ci。我想搜索一个值,例如:b074sjbc53

SELECT * FROM  `products_stock` WHERE  `asin` LIKE  'B074SJBC53'

SELECT * FROM  `products_stock` WHERE  `asin` =  'B074SJBC53'

别工作!

SELECT * FROM  `products_stock` WHERE  `asin` LIKE  '%B074SJBC53%'

但我觉得不够安全。
如果我复制并粘贴phpmyadmin中的值,即使它在数据库中,怎么也没有结果呢?b074sjbc53是精确的值-在字符前后或隐藏字符之间没有空格。
解决方案:我已经用

preg_replace('/[[:cntrl:]]/', '', $all['asin']);

似乎有隐藏的控制字符。现在可以了。

qybjjes1

qybjjes11#

你可以使用instr():

SELECT *
FROM  `products_stock`
WHERE INSTR(`asin`, 'B074SJBC53') > 0

相关问题