Mysql Query查找项目的一部分

时间:2015-05-21 12:03:00

标签: php mysql

我在MYSQL表中有以下项目: “植物大战僵尸免费” 当我搜索“僵尸”或当我搜索“植物”时,将没有结果。 查询我使用:

SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE %Plants%

PHP代码:

     $sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%" . $val . "' OR `COL 2` LIKE '%" . $val . "%'";
    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
        // output data of each row
        while($row = $result->fetch_assoc()) {
            echo $row["COL 1"] . ";" . $row["COL 2"] . ";" . $row["COL 3"] . ";" . $row["COL 4"] . ";" . $row["COL 5"] . ";" . $row["COL 6"] . "<br>";
        }else{
         echo "0 results";}

我如何修改查询,以便在搜索任何部分时可以找到“植物大战僵尸”?

4 个答案:

答案 0 :(得分:1)

您错过了%

 $sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%" . $val . "%' OR `COL 2` LIKE '%" . $val . "%'";
 .................................................................^

目前,您的查询仅搜索COL 1$val结尾或COL 2包含$val的结果。

答案 1 :(得分:0)

你必须用这样的引号包围它

SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%Plants%'

答案 2 :(得分:0)

试试这个..

使用&#34;%&#34;价值之前和之后

 $sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%$val%' OR `COL 2` LIKE '%$val%'";
    $result = $conn->query($sql);

答案 3 :(得分:0)

试试这个:

$sql = "SELECT * FROM `TABLE 1` WHERE `COL 1` LIKE '%" . $val1 . "' OR `COL 2` LIKE '%" . $val2 . "%'";
$result = $conn->query($sql);

将$ val1分配给&#39;植物&#39;和$ val2到&#39; Zombies&#39;