Mysql 需要创建一个操作查询来搜索电影列表中的字符串,并生成与该字符串匹配的电影标题和导演

Mysql 需要创建一个操作查询来搜索电影列表中的字符串,并生成与该字符串匹配的电影标题和导演,mysql,Mysql,我摆好了两张桌子。一个是以movies_id作为主键的电影,另一个是以directors_id作为主键、movies_id作为外键的表directors。我需要创建一个动作和表单,在这里我需要开发一个SQL查询来搜索电影列表中的字符串,并生成与该字符串匹配的电影标题和导演。我需要在两个表中加入信息 例如,我在我的行动中输入了以下内容,但我没有得到任何信息。我试图列出所有电影标题为“J”的电影 我想我会先在一个表中找到信息,然后才能连接两个表。但是我被卡住了!有什么建议吗 谢谢,sql应该是这样的

我摆好了两张桌子。一个是以movies_id作为主键的电影,另一个是以directors_id作为主键、movies_id作为外键的表directors。我需要创建一个动作和表单,在这里我需要开发一个SQL查询来搜索电影列表中的字符串,并生成与该字符串匹配的电影标题和导演。我需要在两个表中加入信息

例如,我在我的行动中输入了以下内容,但我没有得到任何信息。我试图列出所有电影标题为“J”的电影

我想我会先在一个表中找到信息,然后才能连接两个表。但是我被卡住了!有什么建议吗


谢谢,sql应该是这样的

  $query = "SELECT * FROM movies WHERE title LIKE '%J%' ";
  $result = mysql_query($query) or die('Query failed: ' . mysql_error());
您可以使用单引号在
$query
变量中关闭查询,也可以使用
如“%j%”
这将指定生成无效查询,因此请使用双引号关闭查询和单引号关闭LIKE语句来更正它。这将使您的
$query
变量正确无误

更新2:

如果您想加入director表,查询如下

SELECT A.title, B.director_name 
FROM movie A, director B
WHERE A.id=B.movie_id AND A.title LIKE '%J%'


您只是在搜索电影并显示其导演还是同时搜索电影和导演?我实际上是在尝试加入两个表中的信息。这并不能回答问题question@JimGarrison我已经按照你的建议更新了答案。如果需要任何更新,您可以更新我的答案。谢谢!这个有用!!所以我想从movies表中获取电影标题,从directors表中获取相应的director。我创建了directors表,directors id作为主键,movies title作为外键。因此,如果我想连接两个表,而不是“j”,我想将其留空,这样任何字母都可以输入相应的电影标题,导演就会出现。那么我要做一个内部连接吗?你能帮帮我吗?谢谢你,谢谢你!真的很感激!除了“j”之外,还有我可以留白的吗?这样,用户在提交表单中输入的任何字母表都会列出以该字母表开头的所有电影?我尝试了“它不起作用”,如果不想,您可以删除该条件。如果您不想获得像“%J%”这样的标题,请删除WHERE子句的最后一行抱歉,我遇到了一个错误。我的电影表名为“电影”,而我的导演表名为“导演”。导演姓名栏名为“导演”,电影名称栏名为“标题”。还有什么方法可以让LIKE保持空白,这样无论用户输入什么字母,它都会列出所有第一个字母相同的电影?谢谢你的帮助!下面是我使用的代码//执行SQL查询$query=“从电影中选择A.title,B.director A.id=B.movies\u id,其中A.title类似“%J%”$result=mysql_query($query)或die('query failed:'。mysql_error());
SELECT A.title, B.director_name 
FROM movie A, director B
WHERE A.id=B.movie_id AND A.title LIKE '%J%'
SELECT A.title, B.director_name  
FROM movie A 
INNER JOIN director B ON A.id=B.movie_id
WHERE A.title LIKE '%J%'