如何在$ row = mysql_fetch_row中显示其他表数据

时间:2016-11-08 09:24:36

标签: php sql row

我有3张桌子:te_eventte_venuete_category

  • te_event表包含以下列:categoryIDvenueIDevent descriptiontitledateprice点。

  • te_venue表格包含以下列:venueIDvenueNamelocation

  • te_category包含以下列:catIDcatDesc

这是我的SQL查询:

$sqlEvent =" SELECT * FROM te_events 
                 INNER JOIN te_venue ON te_events.venueID = te_venue.venueID 
                 INNER JOIN te_category ON te_events.catID = te_category.catID
                 WHERE eventID =" .$id;

如果我使用row[]te_events检索数据,则row[ *number]取决于te_events列。
那么如何使用row[*number]

检索其他表数据

1 个答案:

答案 0 :(得分:1)

请注意,如果这会回答您的问题,这是非常困惑的......

$row中获取结果后,它包含3个表中的数据,因为这是SQL查询返回的内容。

所以从te_event获取数据:

$categoryID = $row['categoryID'];
$title= $row['title'];
...

te_venue获取数据:

$categoryID = $row['venueName'];
$location= $row['location'];
...

但理想情况下,您应该只检索代码中所需的列,并为其中的一些列添加别名:

$sqlEvent =" SELECT * 
                 te_events.categoryID, te_events.venueID, te_events.`event description` AS eventdesc, te_events.title, te_events.date, te_events.price, 
                 te_venue.venueName , te_venue.location,
                 te_category.catDesc
             FROM te_events 
             INNER JOIN te_venue ON te_events.venueID = te_venue.venueID 
             INNER JOIN te_category ON te_events.catID = te_category.catID
             WHERE eventID =" .$id;

此外,您应该使用参数化查询来传递$id并阻止SQL注入。