0

私はphpを使ってカタログを作っています。現在、すべてのジャンルがページの上部に表示されていますが、クリックしても結果が返されず、理由がわかりません。

これは私が現在持っているコードです:

<?php
session_start();
include "connect.php";
include "header.php";

if (isset($_GET['ID'])) {
    $cat_id = $_GET['Genre'];
    $q = "SELECT ID, Name, Genre FROM Products WHERE Genre="
            .mysqli_real_escape_string($_SESSION['conn'],$cat_id).";";

    $result = mysqli_query($_SESSION['conn'],$q);


    echo "<div>";
    while ($row = mysqli_fetch_row($result)){
        echo "<p><a href='product.php?id=$row[ID]'>$row[Name]</a></p>";
    }
    echo "</div>";
    mysqli_free_result($result);
}

include "footer.php";
?>

phpを使うのはこれが初めてなので、おそらく本当に露骨な質問で申し訳ありません!

4

3 に答える 3

1

ある種の mysqli エラー チェックでクエリが失敗しているかどうかを確認する必要があります。

if (! $result = mysqli_query($_SESSION['conn'],$q))
{
   printf("Error: %s\n", $mysqli->error);

}

結果が表示されない理由がわからない場合を除きます

于 2012-02-29T11:47:07.133 に答える
1

これを試してみてください。「;」を使用しています。これは不要で、ジャンルは文字列です

 $q = "SELECT ID, Name, Genre FROM Products WHERE Genre='"
            .mysqli_real_escape_string($_SESSION['conn'],$cat_id)."'";
于 2012-02-29T11:45:14.957 に答える
0

これでwhileループを書き直してください:-

while ($row = mysqli_fetch_row($result)){
    echo "<p><a href='product.php?id=".$row['ID']."'>".$row['Name']."</a></p>";
于 2012-02-29T11:48:06.227 に答える