从同一个表中的多个列中获取数据

时间:2017-01-25 13:18:28

标签: php mysql

我的网站上有搜索和显示数据的搜索功能!

我的数据库结构非常简单。我有一个表,其中有多列,但我想基于两列获取数据,现在我有一个查询,将用户搜索作为参数。我想要做的是搜索两个特定列并返回数据!

这是我的问题:

$key=$_GET['key'];
$key=str_replace("-"," ",$key);
$query="
select rand_id
     , title_short
     , color
     , path
     , category
from data
where title_full LIKE CONCAT('%',?,'%')
";

$stmt = $db->prepare($query);

此查询从一列title_full获取数据,但我想要做的是在此处添加另一列名为size的列,以便从两列中搜索。

任何帮助?

1 个答案:

答案 0 :(得分:0)

我自己完成了我刚刚在最后添加了一个OR条件

$key=$_GET['key'];
                $key=str_replace("-"," ",$key);
                $query="select `rand_id`,`title_short`,`color`,`path`,`category` from `data` where `title_full` LIKE CONCAT('%',?,'%') OR `size` LIKE CONCAT('%',?,'%')";
                $stmt = $db->prepare($query);

                if($stmt){
                    $stmt->bind_param("ss",$key,$key);
                    $stmt->bind_result($rand_id,$title, $color, $path, $category);
                    $stmt->execute();