我正在尝试执行
SELECT * FROM `product_laptop` WHERE name = "Acer Sdfsdf"
MySQL返回一个空结果集(即零行)。 (查询耗时0.0010秒。)
答案 0 :(得分:2)
也许您应该尝试like
来获取正确的数据:
SELECT * FROM `product_laptop` WHERE name LIKE "Acer%"
这会满足您的需求吗?
答案 1 :(得分:1)
=
需要完全匹配,使用带有like
通配符的%
会为您提供所需的结果。这虽然不符合确切的记录,但会允许各种变化。
SELECT * FROM `product_laptop` WHERE name like "Acer%Sdfsdf"
使用LIKE,您可以在模式中使用以下两个通配符:
%匹配任意数量的字符,即使是零字符。
_ 只匹配一个字符。
http://dev.mysql.com/doc/refman/5.7/en/string-comparison-functions.html
您可以使用:
$name = preg_replace('/\s+/', '%', trim($name));
将所有空格转换为通配符。