Php 在传递到查询的字符串中查找匹配的MySQL字段

Php 在传递到查询的字符串中查找匹配的MySQL字段,php,mysql,string,Php,Mysql,String,以下是我试图完成的伪(假)查询: SELECT * FROM myTable WHERE specific_field IS IN '{$stringPassedIn}' 然后在结果上,我想获取specific\u字段与传入的字符串匹配的行 在做一些研究时,我发现有很多相反的情况,例如: 从“%123456%”之类的项目中选择*但这不是我要找的-我不相信 这是真实世界的应用程序。在我的php代码中,我提取了一条错误消息。此错误消息包含特定的错误代码。我有一个代码表,我想比较这个错误字符串,然后

以下是我试图完成的伪(假)查询:

SELECT * FROM myTable
WHERE specific_field IS IN '{$stringPassedIn}'
然后在结果上,我想获取
specific\u字段
与传入的字符串匹配的行

在做一些研究时,我发现有很多相反的情况,例如:

从“%123456%”之类的项目中选择*但这不是我要找的-我不相信


这是真实世界的应用程序。在我的
php
代码中,我提取了一条错误消息。此错误消息包含特定的错误代码。我有一个代码表,我想比较这个错误字符串,然后返回一行,其中包含字符串中的确切错误代码(如上面的第一个查询)。所以我在查询中传递了一个完整的短语。这是否可行?或者有更好的方法来实现这一点吗?

您可以反转类似于
谓词的

SELECT * FROM myTable
WHERE '{$errorMessage}' LIKE CONCAT('%', errorCode, '%')
想想这个例子,下面的表达式将返回true:

'error number 12345 has occurred' LIKE '%12345%'
注意对$errorMessage执行正确的转义,以防它包含特殊字符。或者更好的方法是,使用一个准备好的语句并将变量作为参数传递。

看看MySQL。你可以这样做

SELECT * FROM myTable
WHERE LOCATE(`specificField`, '{$stringPassedIn}') is not 0

我读了三遍,仍然没有真正理解你的问题。想象一下,你会向你的孩子或父母解释这一点。使用简单的语言、逻辑性强、结构清晰的句子。@GottliebNotschnabel我想问题出在你身上——我很容易理解OP的要求。我当然不认为你最初的评论是有道理的。@MikeW,+1我同意,我理解这个问题没有太多麻烦。谢谢你。我读了第四遍,仍然没有理解(由于你的回答,我已经了解了一些背景知识)。但如果只有我,那么一切都很好。请不要理我和我的留言。也许我只是想得不够复杂。你们都不是女人…?非常感谢。这是完全有道理的,让我试试,然后我会做正确的标记。