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