2013-03-24 93 views
1

我對PHP mySQL非常陌生,所以請放心。我在一個頁面上構建主題公園列表,當您單擊其中一個公園時,會在該公園的一個新頁面上加載信息。我很難將主題公園ID從一個頁面傳遞到下一個頁面,無法計算出我做錯了什麼。請幫忙。將ID數據傳遞到新頁面

的列表頁面的代碼:

<?php 

try 
{ 
$pdo = new PDO('mysql:host=localhost;dbname=danville_tpf', 'username', 
'password'); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$pdo->exec('SET NAMES "utf8"'); 
} 
catch (PDOException $e) 
{ 
$output = 'Unable to connect to the database server.'; 
include 'output.html.php'; 
exit(); 
} 


$output = 'Theme Park Database initialized'; 
include 'output.html.php'; 

try 
{ 
$sql = 'SELECT park_id, name, town, state, country 
FROM tpf_parks ORDER BY name ASC'; 
$result = $pdo->query($sql); 
} 
catch (PDOException $e) 
{ 
$error = 'Error fetching parks: ' . $e->getMessage(); 
include 'error.html.php'; 
exit(); 
} 

$output = 'Parks Loaded'; 
include 'output.html.php'; 

foreach ($result as $row) 
{ 
$parklist[] = array(
'park_id' => $row['park_id'], 
'name' => $row['name'], 
'town' => $row['town'], 
'state' => $row['state'], 
'country' => $row['country'] 

); 
} 
include 'parks.html.php'; 

的parks.html.php是這樣的:

<?php foreach ($parklist as $park): ?> 


<a href="paging.php?park_id=<?php echo $park['park_id'];?>"> 

<h2><?php echo $park['name']; ?></h2> 

<h3><?php echo $park['town'] , ', ', $park['state'] , ', ', $park['country']  ; ?></h3> 

<hr> 

</a> 

<?php endforeach; ?> 

和內容頁面,細節應該加載是:

<?php 

try 
{ 
$pdo = new PDO('mysql:host=localhost;dbname=danville_tpf', 'username', 
'pasword'); 
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
$pdo->exec('SET NAMES "utf8"'); 
} 
catch (PDOException $e) 
{ 
$output = 'Unable to connect to the database server.'; 
include 'output.html.php'; 
exit(); 
} 


$output = 'Theme Park Database initialized'; 
include 'output.html.php'; 

try 
{ 
$park_id = $_GET['park_id']; 
$query="SELECT * FROM tpf_parks WHERE park_id = $park_id"; 
$result = $pdo->query($sql); 
} 
catch (PDOException $e) 
{ 
$error = 'Error fetching park details: ' . $e->getMessage(); 
include 'error.html.php'; 
exit(); 
} 
?> 

我認爲park_id正在通過,因爲內容頁面的URL在結尾處顯示this.php?park_id = 2 wi TH匹配park_id的數目,但我從說

查詢得到一個錯誤「錯誤獲取公園的詳細信息:SQLSTATE [42000]:語法錯誤或訪問衝突:1065查詢是空的」我做了什麼

錯誤?請幫忙。 丹

回答

1

的問題是它是使用可變$sql這似乎不存在以下行:

$result = $pdo->query($sql); 

嘗試以下操作:

$park_id = $_GET['park_id']; 
$query="SELECT * FROM tpf_parks WHERE park_id = $park_id"; 
$result = $pdo->query($query); 

注意到我已經取代$sql$query

+0

非常感謝,這一直很完美。我把頭髮拉出來了! – themeparkfocus 2013-03-25 00:01:41