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


How to make a variable to show the same row as it is currently showing in PHP?

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

以下是我尝试过的:

<?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>";
    }
?>

您的错误将出现在$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