如何使变量显示与PHP当前显示的行相同?

时间:2015-11-02 11:22:54

标签: php database

我真的不知道如何解释这个问题。但是,我试图创建一个显示与当前显示相同的行的产品页面(例如"进入技术产品页面,在底部显示所有其他技术相关产品" )。

以下是我尝试的内容:

<?php 
    $pType = $row['typeP'];
    $sql = "SELECT * FROM products WHERE type=$pType";
    $result = mysqli_query($con, $sql) or die(mysqli_error($con));

    while ($row = mysqli_fetch_array($result)){ 
    echo "<a href='products.php?id={$row['productID']}'>";
    echo "<img src='uploads/{$row['displayIMG']}'>";
    echo "</a>";
    }
?>

1 个答案:

答案 0 :(得分:0)

您的错误将出现在$ typeP声明中。我猜测$ row之前没有定义。因此它是空的。也许你试图使用GET?

<?php 
    $pType = $_GET['typeP']; //This would get the type id from the querystring
    $sql = "SELECT * FROM products WHERE type='".$pType."'";
    $result = mysqli_query($con, $sql) or die(mysqli_error($con));

    while ($row = mysqli_fetch_array($result)){ 
         echo "<a href='products.php?id=".$row['productID']."'>";
         echo "<img src='uploads/".$row['displayIMG']."'>";
         echo "</a>";
    }
?>

我还应该提到您的代码受SQL注入。在通过数据库运行之前,请清理输入。否则你会遇到麻烦。 http://www.wikihow.com/Prevent-SQL-Injection-in-PHP