Mysql只有%LIKE%有效

时间:2018-06-01 15:22:14

标签: mysql sql-like varchar

我有一个包含不同ASIN的列。 该列是varchar(255)utf8_general_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']);

似乎有隐藏的控制字符。它现在有效。

1 个答案:

答案 0 :(得分:0)

你可以使用INSTR()

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