Php 在MySql数据库中搜索类似父亲节的字符串

Php 在MySql数据库中搜索类似父亲节的字符串,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,我有一列包含字符串父亲节如果只搜索单词父亲查询显示结果父亲节 但如果输入字符串 父亲节 父亲节 无结果显示 我的问题是 select * from temp where title like '%Father's%' datatype = 0 select * from temp where title like '%Father''s%' datatype = 0 select * from temp where title like '%Father\'s%' datatype = 0

我有一列包含字符串父亲节如果只搜索单词父亲查询显示结果父亲节 但如果输入字符串 父亲节 父亲节

无结果显示

我的问题是

select * from temp where title like '%Father's%' datatype = 0

select * from temp where title like '%Father''s%' datatype = 0

select * from temp where title like '%Father\'s%' datatype = 0
你的疑问

你在父亲之后关闭了一个报价,打断了你的提问 同一问题 只有%和uu被转义,你不能像模式一样转义 我相信正确的问题,但我没有检查,应该是:

select * from temp where title like "%Father's%" AND datatype = 0
你的疑问

你在父亲之后关闭了一个报价,打断了你的提问 同一问题 只有%和uu被转义,你不能像模式一样转义 我相信正确的问题,但我没有检查,应该是:

select * from temp where title like "%Father's%" AND datatype = 0
用于转义特殊字符

$search = mysql_real_escape_string($search);
使用PDO方式:

$stmt = $db->prepare("SELECT * FROM  `temp` WHERE  `title` LIKE ?");
$stmt->bindValue(1, "%$search%", PDO::PARAM_STR);
$stmt->execute()
注:。它们不再得到维护。看到了吗?相反,学习,并使用,或-将帮助您决定哪一个。如果选择PDO,.

用于转义特殊字符

$search = mysql_real_escape_string($search);
使用PDO方式:

$stmt = $db->prepare("SELECT * FROM  `temp` WHERE  `title` LIKE ?");
$stmt->bindValue(1, "%$search%", PDO::PARAM_STR);
$stmt->execute()

注:。它们不再得到维护。看到了吗?相反,学习,并使用,或-将帮助您决定哪一个。如果您选择PDO,.

使用此选项,这将确保:

select * from temp where title like "%Father\\'s%" datatype = 0;
这会奏效的


为了让您知道,我想建议您,当您在数据库中插入时,请始终使用函数来避免斜杠。

使用此函数,这将确保:

select * from temp where title like "%Father\\'s%" datatype = 0;
这会奏效的



为了让您知道,我想建议您,当您在数据库中插入该项时,请始终使用函数来避免斜杠。

从我的头顶开始,尝试“%Father\\\\'s%”是转义字符,因此它不会在查询中结束,除非您有两个转义字符。所以\\成为\,并且\'成为\'的可能副本,从我的头顶开始,尝试'%Father\\\'的%'是转义字符,因此它不会在查询中结束,除非您有两个转义字符。所以\\been\,和\'been'可能重复数据库显示错误消息1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第1行“datatype=0 LIMIT 0,30”附近使用的正确语法。我在您的问题帖子中没有看到限制。把整件事都贴出来,告诉大家旅游代码出了什么问题。形成查询的php代码可能会有所帮助?父字符串和数据类型条件之间应该有AND。那么,数据库中是否有此反斜杠?您能从'table'中发布SELECT*,其中id='id`?父亲节数据库中的这个字符串我的要求是搜索整个字符串数据库显示错误消息1064-您的SQL语法有错误;查看与您的MySQL服务器版本对应的手册,了解第1行“datatype=0 LIMIT 0,30”附近使用的正确语法。我在您的问题帖子中没有看到限制。把整件事都贴出来,告诉大家旅游代码出了什么问题。形成查询的php代码可能会有所帮助?父字符串和数据类型条件之间应该有AND。那么,数据库中是否有此反斜杠?您能从'table'中发布SELECT*,其中id='id`吗?父亲节这个字符串在数据库中我的要求是搜索整个字符串,但在数据库中这个字符串是存储父亲节的,不应该。用于将您的值另存为父亲节。但在数据库中,此字符串是存储父亲节,而不应是存储父亲节。用于将您的值保存为父亲节。数据库显示此消息MySQL返回一个空结果集,即零行。查询花费了0.0024秒为什么要用%Father\\\'的%进行搜索?尝试使用%Father%,然后检查。我的要求是搜索整个单词Father'sDay@UMAIRALI我想知道在数据库的列中是否只有父亲节文本,或者还有更多。@UMAIRALI如果您找到的列中只有此文本,请使用title=Father\\\。这肯定会起作用。数据库显示此消息MySQL返回了一个空结果集,即零行。查询花费了0.0024秒为什么要用%Father\\\'的%进行搜索?尝试使用%Father%,然后检查。我的要求是搜索整个单词Father'sDay@UMAIRALI我想知道在数据库的列中是否只有父亲节文本,或者还有更多。@UMAIRALI如果您找到的列中只有此文本,请使用title=Father\\\。这肯定会奏效。