Php Mysql:如何使用字母数字值修剪和比较数据库字段?

Php Mysql:如何使用字母数字值修剪和比较数据库字段?,php,mysql,sql,where,Php,Mysql,Sql,Where,我的网站有一个搜索框。我有一个数据库字段值,如:“宠物的名字是吉米”。当有人搜索像“宠物名”这样的内容时,我需要获取该行。有没有办法只比较mysqlWHERE条件中的字母数字值?也就是说,“宠物名”和“宠物名”应该返回同一行。这是一个类似于“petsname=petsname”的比较。只比较字母数字字符 我尝试过用mysqlREPLACE替换“”,但我坚信有更好的解决方案 $str = "Pet's name is Jimmy"; $str1 = addslashes($str); //

我的网站有一个搜索框。我有一个数据库字段值,如:“宠物的名字是吉米”。当有人搜索像“宠物名”这样的内容时,我需要获取该行。有没有办法只比较mysql
WHERE
条件中的字母数字值?也就是说,“宠物名”“宠物名”应该返回同一行。这是一个类似于“petsname=petsname”的比较。只比较字母数字字符

我尝试过用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\u replace('/[^A-Za-z0-9\.-]/“,”,“$str;
//删除除A-Z、A-Z、0-9、点、连字符和空格以外的所有字符。我需要避免所有特殊字符。这就是比较需要类似于:“petsname=petsname”。只比较字母数字字符。请注意,数据库字段中存在特殊字符。请使用该信息更新您的帖子!可能不仅是撇号重复,我需要避免使用mysql“替换”而使用所有特殊字符。这就是比较需要类似于:“petsname=petsname”。只比较字母数字字符。使用该信息更新您的帖子!并进一步阅读关于
SOUNDEX
为什么不能使用MySQL
replace
?您是否考虑过从myTable中选择一个匹配(somefield)的*(在布尔模式下为“pet's name”);