Php 从多个表中检索数据
我有两张桌子看电影和表演 电影表包含:Php 从多个表中检索数据,php,mysql,Php,Mysql,我有两张桌子看电影和表演 电影表包含: id, name, image, description. id, movieid, description. 显示表中包含: id, name, image, description. id, movieid, description. 我正在执行mysql语句从SHOWS表中检索记录,我正常地获取所有记录。我再次执行另一个mysql语句,根据我从第一次查询得到的MOVIES表id从MOVIES表中获取图像。 是否有任何简单的方法可以从SHO
id, name, image, description.
id, movieid, description.
显示表中包含:
id, name, image, description.
id, movieid, description.
我正在执行mysql语句从SHOWS表中检索记录,我正常地获取所有记录。我再次执行另一个mysql语句,根据我从第一次查询得到的MOVIES表id从MOVIES表中获取图像。
是否有任何简单的方法可以从SHOWS表中检索所有记录以及电影图像
以下是我的疑问:
$qry1 = mysql_query("SELECT * FROM shows WHERE id='1'");
$res = mysql_fetch_array($qry1);
$movieid = $res['movieid'];
$qry2 = mysql_query("SELECT image FROM movies WHERE id='$movieid'");
一些sql连接
或者你可以试试这个,我不确定女巫id来自哪里:
SELECT id, movieid, description, image FROM SHOWS
INNER JOIN MOVIES
ON id = movieid
一些外键这里我写的是out-join,你们都可以使用嵌套的select查询
select movies.image from movies where movies.id in(Select shows.movieid form shows where shows.id= 1);
您可以同时从一台服务器的多个表中检索数据。有很多方法可以实现这个叫做连接的操作。其中一种可能是左连接,如下所示:
SELECT t1.field1, t1.field2,..., t2.field1, t2.field2, ..., t2.fieldn
FROM table1 AS t2
LEFT JOIN talble2 AS t2 ON t2.some_field = t1.anothed_filed
WHERE some_condition
就你而言:
SELECT s.*, m.image
FROM SHOWS AS s
LEFT JOIN movies AS m ON s.movieid = m.id
WHERE some_condition
有关更多信息,请参阅在questionHint:Internal JOIN中提供查询的文档。这些是我的查询$qry1=mysql\u querySELECT*FROM shows WHERE id='1'$res=mysql\u fetch\u数组$qry1$movieid=$res['movieid']$qry2=mysql\u querySELECT image FROM movies,其中id='$movieid';选择*FROM SHOWS as s internal JOIN MOVIES as m ON m.id=s.movieid,其中s.field=$var;在选择查询中使用*不是最佳做法。请在pdshah3690处使用它。现在工作很好。Tq