我的网站有一个搜索框。我有一个数据库字段值:“宠物的名字是吉米”。当有人像“宠物名称”一样搜索时,我需要获取该行。有什么办法只比较mysql WHERE
条件中的字母数字值吗?这是“宠物的名字”和“宠物名称”应返回相同的行。这是比较需要是类似的:“petsname = petsname”。只有字母数字字符进行比较。Mysql:如何修剪和比较数据库字段与字母数字值?
我试过mysql REPLACE
替换"'"
,但我坚信现在有更好的解决方案。
我的网站有一个搜索框。我有一个数据库字段值:“宠物的名字是吉米”。当有人像“宠物名称”一样搜索时,我需要获取该行。有什么办法只比较mysql WHERE
条件中的字母数字值吗?这是“宠物的名字”和“宠物名称”应返回相同的行。这是比较需要是类似的:“petsname = petsname”。只有字母数字字符进行比较。Mysql:如何修剪和比较数据库字段与字母数字值?
我试过mysql REPLACE
替换"'"
,但我坚信现在有更好的解决方案。
$str = "Pet's name is Jimmy";
$str1 = addslashes($str); // Outputs: Pets name is Jimmy
你可以做这样的事情
SELECT * FROM pet WHERE name like '%$str1%';
请再次探讨这个问题,它是关于mysql'WHERE'的情况。 –
感谢您的回答。当有人搜索“宠物”而不是“宠物”时,我需要返回同一行。 –
如果你想删除特殊的字符和搜索请尝试这个'$ str = preg_replace('/ [^ A-Za-z0-9 \。 - ] /','',$ str;'' AZ,az,0-9,点,连字符和空格 – user2092317
[mysql中搜索忽略撇号]的可能重复(http://stackoverflow.com/questions/4351337/ignoring-apostrophes-in-mysql-搜索) – tlenss
不仅撇号,我需要避免所有特殊字符,而不使用MySQL“REPLACE”。这是比较需要是类似的:“petsname = petsname”。只有字母数字字符进行比较。 –
用这个信息更新你的文章!并进一步阅读关于'SOUNDEX'的页面。 – tlenss