显示sql数据库问题的信息

时间:2013-12-16 04:38:57

标签: php sql

我正在制作一个简单的购物车应用程序。主页面显示产品列表。当您单击产品名称时,它会将您带到显示该产品信息的页面。现在,它没有显示任何东西。这是我的代码:

<?php

    $sql = "SELECT product_id, image_path, name, description, price FROM products;";
    $result = mysql_query($sql);
    while(list($product_id, $image_path, $name, $description, $price) = mysql_fetch_row($result)) {

        echo "<tr>";
            echo "<td><img src=$image_path height=200 width=160 border=1px /></td>";
            echo "<td><b><a href=\"getprod.php?product=" .
                  $product_id['product_id'] . "\">$name</a></b><br/ >";
            echo "$description<br/ >";
            echo "$$price<br/ >";
            echo "<input type='button' value='Add to Cart' onclick='addtocart'/>"; 

        echo "</tr>";

    }

?>

我的productInfo方法应该显示我的信息:

function productInfo($product_id) {
    global $conn;

    if($product_id) {
        $sql= "SELECT product_id,image_path, name, description, price " . 
              "FROM products WHERE product_id = " . $product_id; " . 

        $result= mysql_query($sql, $conn) or
            die('Could not find product info: ' . mysql_error());

        while(list($product_id, $image_path, $name, $description, $price) = mysql_fetch_row($result)) {
            echo "<td><img src=$image_path height=200 width=160 border=1px /></td>";
            echo "<td><b><a href=\"getprod.php?product=" .
                  $product_id['product_id'] . "\">$name</a></b><br/ >";
            echo "$long_description<br/ >";
            echo "$$price<br/ >";
            echo "<input type='button' value='Add to Cart' onclick='addtocart'/>"; 
        }

        }
    }

非常感谢任何正确方向的帮助或推动!

2 个答案:

答案 0 :(得分:1)

当您使用list()获取$product_id时,在您的while循环中,更改:

echo "<td><b><a href=\"getprod.php?product=" .
                  $product_id['product_id'] . "\">$name</a></b><br/ >";

echo "<td><b><a href=\"getprod.php?product=" .
                  $product_id . "\">$name</a></b><br/ >";

答案 1 :(得分:0)

您只是从数据库表中选择“product_id”。如果要使用list()命令,则应指定要返回的内容:

$sql= "SELECT product_id, image_path, name, description, price FROM products WHERE product_id = " . $product_id;

此外,如果您的product_id未在数据库中列为整数,而是text或varchar,您可能希望在产品ID周围加上引号

$sql= "SELECT product_id, image_path, name, description, price FROM products WHERE product_id = \"$product_id\"";