2013-07-18 47 views
0

我有一個名爲test的數據庫。裏面有一張叫人的桌子。人有4個字段:fname,lname,年齡,城市。我有一個可以讓人們輸入數據的表單。使用PHP在頁面上顯示來自MySQL數據庫的信息

<?php 
include('header.php'); 
?> 

<body> 
<form action="getinformation.php" method="post" id="getinformation"> 
<div id="header"> 
<h1><strong>Search For Data</h1></strong> 
</div> 
<div id="main"> 
<table border="0" width="75%"> 
     <tr> 
      <td align="right" width="10%">First Name: </td> 
      <td><input type="text" name="fname" id="fname" size="20" /></td> 
     </tr> 
     <tr> 
     <td align="right" width="10%">Last Name: </td> 
      <td><input type="text" name="lname" id="lname" size="20" /></td> 
     </tr> 
     <tr> 
     <td align="right" width="10%">Age: </td> 
      <td><input type="text" name="age" id="age" size="3" /></td> 
     </tr> 
     <tr> 
     <td align="right" width="10%">City: </td> 
      <td><input type="text" name="city" id="city" size="20" /></td> 
     </tr> 
</table> 
<input type="submit" /> 
</div> 
</body> 

<?php 
include('footer.php'); 
?> 

當點擊提交按鈕時,它會將數據發送到另一個名爲getinformation.php的頁面。

<?php 
require_once('model.php'); 

$query = "SELECT * FROM people WHERE"; 

if (isset ($POST_fname) { 
$fname = $_POST['fname']; 
$query = $query . " fname = " . $fname . " AND" } 
if (isset ($POST_lname) { 
$lname = $_POST['lname']; 
$query = $query . " lname = " . $lname . " AND" } 
if (isset ($POST_age) { 
$age = $_POST['age']; 
$query = $query . " age = " . $age . " AND" } 
if (isset ($POST_city) { 
$city = $_POST['city']; 
$query = $query . " city = " . $city . " AND" } 

$query = rtrim($query, " AND"); 
?> 
<div id=/"header/"> 
<h1><strong>This is the information you requested</h1></strong> 
</div> 
<div id=/"main/"> 
<?php 
$statement = $db->prepare($query); 
$statement->execute(); 
$products = $statement->fethAll(); 
$statement->closeCursor(); 
foreach ($products as $product) { 
    echo $product['fname'] . " " . $product['lname'] . " | " . $product['age'] . " | " . $product['city'] . '<br />'; 
?> 
</div> 
<?php 
include('footer.php'); 
?> 

我得到一個錯誤

Parse error: syntax error, unexpected '{' in C:\Program Files\wamp\www\testwebpage\Model\getinformation.php on line 6 

我與我的isset功能但除了工作我不知道是否該代碼的其餘部分看起來很好以前出現過此問題(假設isset工作完美)

+0

缺少了很多'赫克;'的 –

+0

呵呵很多語法錯誤,只有一個:改變'是set($ POST_fname)''isset($ _POST ['fname'])' – 2013-07-18 20:14:06

+0

'想知道其餘的代碼是否看起來不錯 - - 它很容易受SQL注入的影響,所以這是一個問題。檢查「綁定參數」。 – Phas1c

回答

2

你有一個語法錯誤 - 缺少右括號:

if (isset ($POST_fname) { 

應該是

if (isset (.....)) { 
0

忘記了(在if的結尾。看錯誤輸出中所述的第6行。

1

你忘記關閉)isset後,並沒有在「AND」後面加分號。這裏是固定的文件:

<?php 
require_once('model.php'); 

$query = "SELECT * FROM people WHERE"; 

if (isset ($POST_fname)) { 
    $fname = $_POST['fname']; 
    $query = $query . " fname = '" . $fname . "' AND"; 
} 
if (isset ($POST_lname)) { 
    $lname = $_POST['lname']; 
    $query = $query . " lname = '" . $lname . "' AND"; 
} 

if (isset ($POST_age)) { 
     $age = $_POST['age']; 
     $query = $query . " age = '" . $age . "' AND"; 
} 

if (isset ($POST_city)) { 
    $city = $_POST['city']; 
    $query = $query . " city = '" . $city . "' AND"; 
} 

$query = rtrim($query, " AND"); 
?> 
<div id=/"header/"> 
<h1><strong>This is the information you requested</h1></strong> 
</div> 
<div id=/"main/"> 
<?php 
$statement = $db->prepare($query); 
$statement->execute(); 
$products = $statement->fethAll(); 
$statement->closeCursor(); 
foreach ($products as $product) { 
    echo $product['fname'] . " " . $product['lname'] . " | " . $product['age'] . " | " . $product['city'] . '<br />'; 
} 
?> 
</div> 
<?php 
include('footer.php'); 
?> 
+0

新錯誤'解析錯誤:語法錯誤,意外$ end在C:\ Program Files \ wamp \ www \ testwebpage \ Model \ getinformation.php on line 36'這是文件的最後一行 – jordankoal

+0

@jordankoal看,有什麼不對 – user4035

+0

我發現其中一個問題,我沒有結束foreach循環,所以我把一個右括號,但現在我得到了錯誤致命錯誤:調用一個成員函數execute()在C:\ Program Files文件中的非對象\ wamp \ www \ testwebpage \ Model \ getinformation.php on line 27 – jordankoal

0

(isset($ POST_fname) 是carfull isset()函數的是,有2個parenteses一個表達式 「(」 「),」 你開了,但din't接近

對每一個「如果」這樣做

if(isset(anything)) 

任何其他問題,來這裏

+0

新錯誤'解析錯誤:語法錯誤,意外的$結束在C:\ Program Files \ wamp \ www \ testwebpage \ Model \ getinformation.php第36行'這是文件 – jordankoal

+0

的最後一行顯示新代碼,沒有他沒有什麼我們可以做的...... –

相關問題