Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php sql查询喜欢一些文本_Php_Mysql - Fatal编程技术网

Php sql查询喜欢一些文本

Php sql查询喜欢一些文本,php,mysql,Php,Mysql,我的网站类似于imdb.com,它存储电影细节和演员姓名。在我的actor字段中,我存储actors名称,如“name1,name2,name3,name4” 我的网站可以选择按演员姓名搜索电影。我的代码如下: SELECT * FROM imdb WHERE actors LIKE '%%actorname%%' 问题是,如果访问者搜索“Lal”,那么演员名为“Mohanlal”和“Lal”的电影都会出现。我只想列出“拉尔”电影。如何编写查询来完成此操作?将查询设置为: SELECT * F

我的网站类似于imdb.com,它存储电影细节和演员姓名。在我的actor字段中,我存储actors名称,如“name1,name2,name3,name4”

我的网站可以选择按演员姓名搜索电影。我的代码如下:

SELECT * FROM imdb WHERE actors LIKE '%%actorname%%'

问题是,如果访问者搜索“Lal”,那么演员名为“Mohanlal”和“Lal”的电影都会出现。我只想列出“拉尔”电影。如何编写查询来完成此操作?

将查询设置为:

SELECT * FROM imdb WHERE actor LIKE 'actorname'

并在inputfield旁边放置一个文本,让他们使用通配符进行搜索。然后,如果他们想搜索'Lal',则只会找到'Lal',如果他们想搜索以'Lal'(%Lal)结尾的所有内容,则会找到Mohanlal和Lal。

这样进行查询:

SELECT * FROM imdb WHERE actor LIKE 'actorname'

并在inputfield旁边放置一个文本,让他们使用通配符进行搜索。然后,如果他们想搜索“Lal”,他们只会找到“Lal”,如果他们想搜索以“Lal”(%Lal)结尾的所有内容,他们会找到Mohanlal和Lal。

你应该为演员创建一个单独的表格,无论如何,我们会努力找到解决剩下的问题的办法

  SELECT * FROM imdb WHERE actors LIKE 'Lal,%' OR actors LIKE '%,Lal%' OR actors = 'Lal'

你们应该为演员创建一个单独的表格,不管怎样,我们都会努力找到解决剩下的问题的办法

  SELECT * FROM imdb WHERE actors LIKE 'Lal,%' OR actors LIKE '%,Lal%' OR actors = 'Lal'

请尝试以下查询:

SELECT * FROM `imdb` WHERE `actors` RLIKE '[[:<:]]Lal[[:>:]]'

请尝试以下查询:

SELECT * FROM `imdb` WHERE `actors` RLIKE '[[:<:]]Lal[[:>:]]'

我想这就是你需要的:

SELECT whatever
FROM whereever AS t
WHERE t.actors = SOUNDEX('test')

我想这就是你需要的:

SELECT whatever
FROM whereever AS t
WHERE t.actors = SOUNDEX('test')


从imdb中选择*,在imdb中,像“actorname%”这样的参与者应该规范化您的模式。为每部电影中的每个演员添加一个包含一行的表,并使用联接。
SELECT*FROM imdb WHERE actor,比如'actorname%'
您应该规范化您的模式。为每部电影中的每个演员添加一个包含一行的表,并使用联接。但问题是,我正在将演员名称存储在actor1、actor2、actor3等字段中。如果像这样的搜索是在第二秒内进行的,那么它将不会检索到。所以,您的意思是,您有一个包含电影的表,以及演员的所有名称?都在一排?那么你要找的演员可以是现场的actor1,actor2,actor3?如果是这样,您可以使用imdb中的SELECT*,其中actor1喜欢“actorname”或actor2喜欢“actorname”或actor3喜欢“actorname”或actor4喜欢“actorname”……但不确定一部电影中会有多少演员……如果有50名演员??怎么办?您的表中确实有固定数量的可能演员,因此您将要检查的演员数量设置为等于表中演员字段的数量。没有固定数量。这就是问题所在。没有人可以预测现在电影演员列表的天数对吗??如果像《复仇者》这样的电影有多少演员:但问题是我在actor1、actor2、actor3这样的字段中存储演员名称。如果像这样的搜索是在第二秒内进行的,那么它将不会检索到。所以,你的意思是你有一个表,其中包含电影,以及演员的所有名称?都在一排?那么你要找的演员可以是现场的actor1,actor2,actor3?如果是这样,您可以使用imdb中的SELECT*,其中actor1喜欢“actorname”或actor2喜欢“actorname”或actor3喜欢“actorname”或actor4喜欢“actorname”……但不确定一部电影中会有多少演员……如果有50名演员??怎么办?您的表中确实有固定数量的可能演员,因此您将要检查的演员数量设置为等于表中演员字段的数量。没有固定数量。这就是问题所在。没有人可以预测现在电影演员列表的天数对吗??如果这部电影像《复仇者》有多少演员:B但是还有其他演员叫Lalu alex和Newlalu,那么该怎么办?但是还有其他演员叫Lalu alex和Newlalu,那么该怎么办呢?哇哦……太棒了……但是如果有像“Nanda Lal”这样的名字,那就有一个小问题了。它也在展示,然后尝试第二个查询;-)太棒了…太棒了。。。有些情况下,我在名称和逗号之间使用空格,这样我就可以使用或右键使用另一个条件??从
imdb
中选择*where find_in_set('Lal',actors)或find_in_set('Lal',actors)或find_in_set('Lal',actors),如果性能仍然足够高,您可以这样做。否则,最好更正错误的值​​.woooww..太棒了..但是如果有一个像“Nanda Lal”这样的名字,它也会出现一个小问题--然后尝试第二个查询;-)太棒了…太棒了。。。有些情况下,我在名称和逗号之间使用空格,这样我就可以使用或右键使用另一个条件??从
imdb
中选择*where find_in_set('Lal',actors)或find_in_set('Lal',actors)或find_in_set('Lal',actors),如果性能仍然足够高,您可以这样做。否则,最好更正错误的值​​.