Mysql только% LIKE% работает - PullRequest
0 голосов
/ 01 июня 2018

У меня есть столбец с другим 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 голосов
/ 01 июня 2018

Ну, вы можете использовать INSTR () :

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