我有3张桌子:te_event
,te_venue
,te_category
。
te_event
表包含以下列:categoryID
,venueID
,event description
,title
,date
,price
点。
te_venue
表格包含以下列:venueID
,venueName
和location
。
te_category
包含以下列:catID
和catDesc
。
这是我的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]
?
答案 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注入。