php - 将句子拆分为单词并检查 MySQL 是否出现

标签 php mysql arrays

我有一个变量,它是一个句子,例如这是一个句子。我有一个 MySQL 数据库,其中的行中的一列包含以下内容:

"random sentences" 
"few random words" 
"this is cool"
"a car" 
"nice placement"

我需要打印出数据库行中存在的句子中任何单词的出现次数。对于上面给出的示例句子,结果将是:

"random sentences" 
"this is cool" 
"a car" 

这是我迄今为止尝试过的:

<?php
$servername = "localhost";
$username = "dsfdsfds";
$password = "sdfdfsdsf";
$dbname = "sdf";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$galleries = "This is a sentence";
$sql = "
SELECT * 
  FROM rawwords 
 WHERE origin LIKE '%" . $galleries. "%'
";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    while($row = $result->fetch_assoc()) {
        echo "id: " . $row["id"]. " - location: " . $row["sentence"]. " <br><br>";
    }
} else {
    echo "0 results";
}

$conn->close();
?> 

最佳答案

创建正确的 sql :D

$galleries ="This is a sentence";
$arr = explode(" ", $galleries);

$sql = "SELECT * FROM rawwords WHERE origin LIKE";

$lenght = count($arr);

for ($i=0; $i<$lenght; $i++) {
    if ($i == 0) {
        $sql .=" '% " . $arr[$i]. " %'";
    } else {
        $sql .=" or '% " . $arr[$i]. " %'";
    }
}

关于php - 将句子拆分为单词并检查 MySQL 是否出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50417514/

相关文章:

php - 在通过php从xml文件插入记录之前查询mysql数据库

javascript - 无法两次推送到同一个数组

javascript - 如何加载 json 编码数组作为 c3.js 的 x 轴?

php - 加密和解密字符串 - PHP

php - PHP中foreach生成数组并返回会导致CPU利用率增加

php - Woocommerce - 清除主页上的购物车(登录时不起作用)

mysql - SQL 仅替换单个列中的字符。乔·博客 至 乔·博客

PHP 和 JavaScript : Image file description properties (Summary tab)

mysql - 错误数据库连接与用户和密码信息

Java 按二维数组文本文件中的名称和数字排序