我正在尝试按名称搜索商店,当使用mysql数据绑定时,它会在中间添加斜杠并阻止我搜索商店名称
商店名称是Jimmy's Pita
当我运行查询时,它看起来像这样
SELECT * FROM stores WHERE store_name = 'Jimmy\'s Pita'
但数据库中的商店名称看起来像这样......'Jimmy's Pita&戳'
我该怎么做才能解决这个问题?
任何帮助都会非常感激!
答案 0 :(得分:0)
这与逃避有关。当您使用单引号指定时,必须转义其他单引号,如:
'Jimmy\'s Pita'
如果您使用不同的引号,默认情况下MySQL允许,那么您可以改为:
"Jimmy's Pita"
这两个都是等效的,在这两种情况下保存的数据都是:
Jimmy's Pita
反斜杠仅 用于处理转义问题。它不是数据的一部分。
在搜索方面,您可能希望使用MySQL全文索引,以便获得“足够接近”的匹配,例如搜索“jimmys pita”等等。