我對我做錯了什麼感到困惑。我已經在許多資源中看到了這一點,包括我正在學習PHP的書,看起來它應該是正確的......但它不起作用。內部連接ot返回第二個和第三個表的結果
<?php
try
{
$sql = 'SELECT parks.id, parks.state, parks.name, parks.description, parks.site, parks.sname, parks.street, parks.city, parks.zip, parks.phone FROM parks
INNER JOIN comments ON parks.parkid = comments.parkid
INNER JOIN photos ON parks.parkid = photos.parkid
INNER JOIN events ON parks.parkid = events.parkid';
$result = $pdo->query($sql);
}
catch (PDOException $e)
{
$error = 'Error fetching data: ' . $e->getMessage();
include 'output.html.php';
exit();
}
foreach ($result as $row)
{
$datas[] = array ('id' =>$row['id'],
'parkid' =>$row['parkid'],
'state' =>$row['state'],
'name' =>$row['name'],
'description' =>$row['description'],
'site' =>$row['site'],
'sname' =>$row['sname'],
'street' =>$row['street'],
'city' =>$row['city'],
'phone' =>$row['phone'],
'zip' =>$row['zip'],
'commentname' =>$row['commentname'],
'comment' =>$row['comment'],
'event' =>$row['event'],
'date' =>$row['date'],
'description2' =>$row['description2']);
}
include 'writing.html.php';
這將返回第一個表(公園)中的所有數據就好了。項目評論名稱,評論,事件,日期和描述2來自連接表(事件和評論)
如果我回應'$ row ['state']'我得到一個正確的答案。但是,如果我回應其他表中的任何項目(例如$ row ['comment']),我不會得到任何結果。
我錯過了什麼?
你不上市返回數據,而不是返回列來自任何連接表的列返回 –
馬克,我不明白你的答案。我應該在哪裏列出它們,而不是在數組中?他們在陣列中。 – user1483042
該數組是從$ row中由SQL返回的$ result生成的...但如果您的$ sql沒有列出列,那麼它們將不在$ row中...查看下面的列表示例列,而不是一個完整的解決方案 –