Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 类sql不显示要获取的结果_Php_Sql_Fetch_Sql Like - Fatal编程技术网

Php 类sql不显示要获取的结果

Php 类sql不显示要获取的结果,php,sql,fetch,sql-like,Php,Sql,Fetch,Sql Like,对于我正在制作的相关产品零件,它没有显示我希望它显示的结果 这是我的代码: // Info current t-shirt. Normally from database $name = "T-shirt"; $description = "Stylish LUFTRAUSERS T-shirt designed by Amon26."; $relatedSearch = $name . " " . $description; // Query whic

对于我正在制作的相关产品零件,它没有显示我希望它显示的结果

这是我的代码:

    // Info current t-shirt. Normally from database
    $name = "T-shirt";
    $description = "Stylish LUFTRAUSERS T-shirt designed by Amon26.";
    $relatedSearch = $name . " " . $description;

    // Query which searches for related items
    $query = $db->prepare("SELECT * FROM tbl_products WHERE description LIKE '%' :relatedSearch '%' OR name LIKE '%' :relatedSearch '%' LIMIT 5");
    $query -> bindParam("relatedSearch", $relatedSearch, PDO::PARAM_STR);
    if($query -> execute()){
        while($related = $query->fetch(PDO::FETCH_OBJ)) {
            echo "<p style='color:black;'>" . $related->description . "</p></br>";

        }
    }
//信息当前t恤。通常来自数据库
$name=“T恤”;
$description=“Amon26设计的时尚德国航空T恤。”;
$relatedSearch=$name。" " . $描述
//用于搜索相关项的查询
$query=$db->prepare(“从tbl_产品中选择*,其中描述如“%”:relatedSearch“%”或名称如“%”:relatedSearch“%”限制5”);
$query->bindParam(“relatedSearch”,$relatedSearch,PDO::PARAM_STR);
如果($query->execute()){
而($related=$query->fetch(PDO::fetch_OBJ)){
echo“


您需要在绑定中包含冒号。我也会尝试这样构造您的查询

$query = $db->prepare("SELECT * FROM tbl_products 
                       WHERE description 
                       LIKE :relatedSearch OR name LIKE :relatedSearch LIMIT 5");
$query -> bindParam(":relatedSearch", '%' . $relatedSearch . '%', PDO::PARAM_STR);
但是,也许这更像是你想要的

$query = $db->prepare("SELECT * FROM tbl_products 
                       WHERE description 
                       LIKE :description OR name LIKE :name LIMIT 5");
$query -> bindParam(":description", '%' . $description . '%', PDO::PARAM_STR);
$query -> bindParam(":name", '%' . $name . '%', PDO::PARAM_STR);

因此,我想最明显的问题是,您是否验证了
$relatedSearch
中包含的字符串是否符合您的期望,以及它是否与数据库中的至少5行匹配?是的,我希望它搜索该字符串(包含$title和$description)@user3428971中的所有“单个单词”@user3428971它不是这样工作的。通过说,查找
%这是一个示例%
它正在查找包含字符串
这是一个示例的值。它不会为您将其分解。谢谢,但更改后仍然不会显示任何结果。为什么您使用:在%之后,pdo将该变量绑定到bindparam