Php 如何从mysql数据库中搜索整个句子?

Php 如何从mysql数据库中搜索整个句子?,php,mysql,yii2,Php,Mysql,Yii2,这是我的密码 $question = "What is your Name"; $query = "SELECT * FROM `def_questions` where `question` LIKE '$question' "; 它不会返回准确的结果 我需要确切的(你叫什么名字)有人能帮我做这件事吗 提前谢谢 尝试在变量前后添加“%”,如下所示 $question = "What is your Name"; $query = "SELECT * FROM `def_questi

这是我的密码

 $question = "What is your Name";
    $query = "SELECT * FROM `def_questions` where `question` LIKE '$question' ";
它不会返回准确的结果 我需要确切的(你叫什么名字)有人能帮我做这件事吗


提前谢谢

尝试在变量前后添加“%”,如下所示

$question = "What is your Name";
$query = "SELECT * FROM `def_questions` where `question` LIKE '%$question%' ";
编辑要防止SQL注入,只需执行以下操作:

$question = mysql_real_escape_string($question);

尝试在变量前后添加“%”,如下所示

$question = "What is your Name";
$query = "SELECT * FROM `def_questions` where `question` LIKE '%$question%' ";
编辑要防止SQL注入,只需执行以下操作:

$question = mysql_real_escape_string($question);

如果您想要精确的结果,可以使用=而不是LIKE

$question = "What is your Name";
$query = "SELECT * FROM `def_questions` where `question` = '$question'"

如果您想要精确的结果,可以使用=而不是LIKE

$question = "What is your Name";
$query = "SELECT * FROM `def_questions` where `question` = '$question'"

您的代码可能容易受到攻击。您应该使用准备好的语句传递值以进行查询:

$questions = Yii::$app->db
    ->createCommand("SELECT * FROM `def_questions` where `question` LIKE :question", [
        ':question' => "%$question%",
    ])
    ->queryAll();
请注意,您还应该从搜索值中转义一些特殊字符,以使其与
LIKE
运算符一起正确工作(例如,将
%
视为
%
而不是“任何内容”,请参阅):

完成整个过程最简单的方法可能是使用:

Query
将为您进行转义,并将返回SQL查询的结果:

SELECT * FROM `def_questions` where `question` LIKE '%What is your Name%'

您的代码可能容易受到攻击。您应该使用准备好的语句传递值以进行查询:

$questions = Yii::$app->db
    ->createCommand("SELECT * FROM `def_questions` where `question` LIKE :question", [
        ':question' => "%$question%",
    ])
    ->queryAll();
请注意,您还应该从搜索值中转义一些特殊字符,以使其与
LIKE
运算符一起正确工作(例如,将
%
视为
%
而不是“任何内容”,请参阅):

完成整个过程最简单的方法可能是使用:

Query
将为您进行转义,并将返回SQL查询的结果:

SELECT * FROM `def_questions` where `question` LIKE '%What is your Name%'


一个字一个字,一个大写?
question
列的内容是什么?有问题列表。如果您在MySQL中使用此查询,它是否有效?是否与确切的问题有一行?^如果我们知道您需要的问题是否逐字列出,这很重要。请阅读如何使用LIKE,因为您在问题中使用了LIKE。单词和大写字母是否相同?
question
列的内容是什么?有问题列表。如果您在MySQL中使用此查询,它是否有效?有没有确切的问题排在一起?重要的是,如果我们知道你所需要的问题是逐字逐句地列出的。请在你的问题中使用它之后,阅读如何使用它。它给出了空白数组。SajidMehmood那么我猜您的数据库结构是不同的,您可以提供您的数据库结构和一些行吗?在phpmyadmin中,它工作得很好,但在php中使用查询时,不会给出任何错误result@SajidMehmood你能给我们看看你的完整代码吗?如果您说它在phpmyadmin控制台中工作,那么问题可能出现在您的php代码中。是的,如果它在phpmyadmin上工作正常,那么您的php代码中有错误。由于查询很好,它给出了空白数组!@SajidMehmood那么我猜您的数据库结构是不同的,您可以提供您的数据库结构和一些行吗?在phpmyadmin中,它工作得很好,但在php中使用查询时,不会给出任何错误result@SajidMehmood你能给我们看看你的完整代码吗?如果您说它在phpmyadmin控制台中工作,那么问题可能出现在您的php代码中。是的,如果它在phpmyadmin上工作正常,那么您的php代码中有错误。如前所述,查询工作正常。