php - 显示字符串不包含单词的所有 MySQL 条目

标签 php mysql

我正在尝试使用 MySQL 和 PHP 创建一个任务系统。目前我可以将任务标记为已完成并显示谁完成了它们以及何时完成。我想要做的是显示所有任务,这些任务在 $row['completed'] 中的已完成人员字符串中没有该人员的用户名。但是,即使用户已经完成,查询也会返回用户被标记为要执行的所有任务。

代码:

<?php
$account = "LaughingQuoll"
// Create connection
$conn = new mysqli($host, $mysql_user, $mysql_pass, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: ". $conn->connect_error);
} 
$sql = "SELECT * FROM  `tasks` WHERE `completed` NOT LIKE '$account' AND `members` LIKE '$account'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {

// output data of each row
while($row = $result->fetch_assoc()) {
echo $row['completed';
echo $row['taskname'];
echo $row['members'];
}
}
?>

数据库的结构: 这就是现在的内容。它说任务是为 LaughingQuoll 和 Bobjane 设置的,并且 LaughingQuoll 和 Bobjane 已经完成了它。

|  taskname    |       details    |completion| startdate| members               | completed             | id|
| Create Class | Create the class | 2015-1-1 | 2014-1-1 | LaughingQuoll Bobjane | LaughingQuoll Bobjane | 1 |

我想做的是在数据库中搜索字符串内部的单词(用户名),并显示所有不包含单词(用户名)的条目。我该怎么做?

即使标记了两个人,我也想显示用户标记的所有任务。

|  taskname    |       details    |completion| startdate| members               | completed | id|
| Create Class | Create the class | 2015-1-1 | 2014-1-1 | LaughingQuoll Bobjane |           | 1 |

我想显示上表中条目中包含“LaughingQuoll”的所有任务,无论它在条目中的哪个位置以及条目是否为“LaughingQuoll Bobjane”。

如有任何帮助,我们将不胜感激。提前致谢。

注意:查询回显正常。用户名在其中正确。

最佳答案

改变

$sql = "SELECT * FROM  `tasks` WHERE `completed` 
NOT LIKE '$account' AND `members` LIKE '$account'";

也是

$sql = "SELECT * FROM  `tasks` WHERE `completed` 
NOT LIKE '%$account%' AND `members` LIKE '%$account%'";

那应该行得通。 也许你确实添加了一些像

(`members` LIKE '$account%' 
  OR`members` LIKE '%$account' 
  OR `members` LIKE '%$account%')

代替

`members` LIKE '%$account%'

仅,对于“已完成”也是如此。

无论如何,在 MYSQL 中使用 LIKE 时必须使用 %

希望有所帮助。

关于php - 显示字符串不包含单词的所有 MySQL 条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34212222/

相关文章:

php - 如何在Travis CI中语法检查php文件?

mysql - 如何使用openfiledialog将excel文件导入MySQL

php - 计算 sql 结果中的重复项并用 PHP 显示

mysql - 如何修复属性错误: 'bytes' object has no attribute 'encode' if using mysql?

php 不会使用 xampp 运行

php - 使用 PHP 将 XML 转换为 JSON

php - 当条目具有\n 时修复 LOAD DATA INFILE

PHP 函数 date('Y-m-d) 的 C# 替代方案

MySQL Left join(我认为)帮助

php - 准备好的语句错误