2015-11-02 24 views
-1

我真的不知道如何解釋這個問題。但是,我試圖製作一個產品頁面,顯示與當前顯示的行相同的行(例如「進入技術產品頁面,底部顯示所有其他技術相關產品」)。如何讓一個變量顯示與當前在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>"; 
    } 
?> 
+0

你的代碼容易受到sql注入的影響,我不明白你的問題,你可以讓它變得有點清楚 –

+1

錯誤在哪裏? –

回答

0

你的錯誤是在$ typeP聲明。我猜在這之前沒有定義$行。因此它是空的。也許你正在嘗試使用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