-2

我是 php 新手,我自己学习它。

我收到上述错误。我确实尝试了谷歌建议的所有方法,但无法解决。需要帮忙。无法继续前进!!!

第 14 行是“$category = $category->fetch();”

<?php>
require 'database.php';

//get category ID
$category_id = $_GET['category_id'];
if(!isset($category_id)) {
$category_id = 1;
}

//Get name for current category
$query = "SELECT * FROM categories
      WHERE categoryID = $category_id";
 $category = $db->query($query);
 $category = $category->fetch();
 $category_name = $category['categoryName'];

 //Get all categories
 $query = 'SELECT * FROM categories
      ORDER BY categoryID';
 $categories = $db->query($query);

 //Get all products for selected category
$query = "SELECT * FROM products 
     WHERE categoryID = $category_id
     ORDER BY productID";
 $products = $db->query($query);

?>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitionl.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<!--the head section -->
<head>
<title>My Guitar Shop</title>
<link>rel = "stylesheet" type ="text/css" href = main.css"/>
</head>

<!-- the body section -->
<body>
<div id = "page">
<div id = "main">

 <h1>Product List</h1>
 <div id = "sidebar"> 

 <!-- display a list of categories -->
 <h2> Categories</h2>
 <ul class = "nav">
 <?php foreach (categories as $category):?>
 <li>
 <a ref = "?category_id =<?php echo $category['categoryID'];?>">
 <?php echo $category['categoryName'];?>
 </a>
 </li>
 <?php endforeach;?>
 </ul>
 </div>

      <div id = "content">
     <!-- display a table of products -->
 <h2><?php echo $category_name;?></h2>
 <table>
 <tr>
    <th> Code</th>
    <th>Name</th>
    <th class = "right">Price</th>
 </tr>

 <?php foreach($products as $product):?>
 <tr>
     <td><?php echo $product['productCode'];?></td>
     <td><?php echo $product['productName'];?></td>
     <td class="right"><?php echo $product['listPrice'];?></td>
</tr>
    <?php endforeach;?>
     </table>   
</div>
     <div id ="footer"></div>
  </div><!--end page-->
  </body>
 </html>
4

2 回答 2

1
<?php foreach (categories as $category):?>

变量名称类别前缺少 $ 符号

于 2012-11-30T07:51:48.550 回答
0

它认为你错过了“;” 在“database.php”文件的 13 行左右。一旦检查它。

如果您提供“database.php”文件代码,我们可以帮助您找出错误所在。

于 2012-11-30T07:15:30.177 回答