我有一个书名数据库。
我根据页面 URL 中的查询字符串查询数据库。
因此,例如,如果有一本书名为“Mike's Book”,则查询字符串将为“mikes-book”。在将变量传递给 MYSQL 查询之前,我执行了一些基本的清理工作,将“mikes-book”变成了“Mikes Book”。
查询失败,因为查询字符串不包含与数据库记录匹配的撇号。
现在,我正在使用这个查询:
"SELECT title FROM books WHERE title LIKE '$query_title'"
如果数据库记录中没有撇号,则正确返回记录。但是当DB记录中有撇号时,返回0个结果。
关于我可以在这里做什么的任何想法?
最佳答案
问题的出现是因为您有一个有损转换,您正试图反转(在您创建 URL 时显然删除了 )。解决这个问题的一个简单方法是将转换后的值也保存在数据库中,然后查询该值 (mikes-book)。更新名称时,也会同时更新转换后的值。
您还可以在 SQL 中重新实现转换函数并将每一行与转换后的值进行比较,但我强烈建议避免这样做。 :-)
关于mysql - SQL:数据库记录中有撇号,但查询字符串中没有,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14183940/