Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.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 从多个表中检索数据_Php_Mysql - Fatal编程技术网

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