php - 如何在数据库中搜索多个单词

标签 php html mysql database

我似乎无法弄清楚如何搜索(和显示)数据库中的多个单词。这是数据库列的图像

enter image description here

所有不同的地点:非洲 |英国威尔士 |斯德哥尔摩、瑞典和我想搜索相同的位置并显示它们,如果列中有一个单词,以下代码有效,但如果有多个单词则无效。

<?php 
        $sessionid = $_SESSION['id'];
        $sql = "SELECT * FROM users WHERE id = '$sessionid';";
        $rsults = mysqli_query($conn, $sql);
        $resultsCheck = mysqli_num_rows($rsults);
        if ($resultsCheck > 0) {
            while ($row = mysqli_fetch_assoc($rsults)){
                $follow = $row['follow'];
                $loc = $row['places'];
            }
        }
    $sql = "SELECT * FROM posts WHERE ext LIKE '$loc' OR username LIKE '$follow' ORDER BY `a_date` DESC LIMIT 4";
    $rsults = mysqli_query($conn, $sql);
    $resultsCheck = mysqli_num_rows($rsults);
    if ($resultsCheck > 0) {
        while ($row = mysqli_fetch_assoc($rsults)){
            echo '<div class="posts">';
            echo '<img class="img"src='.$row['img'].' width="1500px">';
            echo '</div>';
            echo '<div class="contain">';
            echo '<div class="over">';
            echo '<div class="username2">';
            echo '<img src="focus.png" width="25px" height="25px" style="padding-right: 10px;">'.'<a href="./Profile.php?data='.$row['username'].'">'.$row['username'].'</a>'.'<img src="loc.png" width="25px" height="25px" style="padding-right: 5px; padding-left: 10px;">'.'<a href="./Location.php?data='.$row['ext'].'">'.$row['ext'].'</a>';
            echo '</div>';
            echo '<div class="content">';
            echo $row['content'];
            echo '</div>';         
            echo '</div>';
        }
    }

?>

我也知道这对 SQL 注入(inject)是开放的,这只是一个概念证明。感谢您的帮助!!

最佳答案

mysql 中的类似运算符带有通配符,例如'%'、'_' 等

你可以像这样使用mysql查询

$sql = "SELECT * FROM posts WHERE ext LIKE '%$loc%' OR username LIKE '$follow' ORDER BY `a_date` DESC LIMIT 4"; 

例如,如果 $loc = 'canada',它将返回该列中包含 'canada' 的所有行,无论该列包含 'canada, abc' 还是 'abc, canada'

关于php - 如何在数据库中搜索多个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52773645/

相关文章:

javascript - 用一个简单的函数重新排列元素

javascript - 按钮粘在页面底部 jQuery

python - Django 每个模型都必须有一个 date_created 和 date_modified 字段

php - 获取 Microsoft 10 Edge 浏览器 Mime 类型 php

php - 获取值中的点(句号)会破坏 SQL 查询 (PDO)

javascript - 我可以使用PHP在国外网页上执行JavaScript吗?

mysql - 仅从特定门 MYSQL 获取后进和后出

php - 如何从 Android 传递变量以供 PHP 文件读取,然后 PHP 文件读取 MYSQL 数据库并返回其他数据?

javascript - PouchDB:单选按钮值未保存到数据库

mysql - 按时间间隔选择记录 12 :00:00 and 18:00:00 on every day