php - 如何查询 SELECT name FROM movie WHERE Category LIKE :search - with adding some string before and after SEARCH

标签 php mysql sql-like

我有疑问:

SELECT name FROM movies WHERE category LIKE :search

我在列类别中有多个 ID:1,81,23 为了更好地搜索,需要在查询中的 :search 的开头和结尾添加逗号,例如 ',1,81,23,' 以搜索模式 ',XX,' 中的特定 id

$stmt = $this->db->prepare('SELECT name FROM movies WHERE category LIKE :search');
$stmt->bindValue(':search', "%$search%", PDO::PARAM_STR);
$stmt->execute();
return $stmt->fetchAll(PDO::FETCH_ASSOC);

需要查找单个ID

最佳答案

SELECT DISTINCT b.name
FROM(
      SELECT 'searchString' AS Keyword
      FROM movies
    ) AS a 
INNER JOIN movies AS b
ON a.Keyword like '%'+b.category+'%'

将您的用户输入放入“searchString”中,就可以了。当输入',1,18,23,'时,会显示3条记录。

关于php - 如何查询 SELECT name FROM movie WHERE Category LIKE :search - with adding some string before and after SEARCH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35858095/

相关文章:

php - PDF uploader 脚本

php - php获取当前页面所有HTTP响应头的方法

c# sql 返回没有时间的日期

mysql - 在两个表之间传输一个值,其中一个字段与另一个字段%LIKE%

sql - NOT LIKE 和 LIKE 不返回相反的结果

PHP MySQL PDO - 多个 WHERE AND OR

javascript - 如何在 WordPress `functions.php` 中将一个又一个脚本排队,并让它们一起工作?

php - 根据常见日期循环遍历 MySQL 数据

mysql docker容器经常崩溃

regex - 如何在SQLite中使用字符列表匹配字符串