簡體   English   中英

通過頁面/ SQL傳遞PHP變量

[英]Passing php variables through pages / sql

我顯示以下信息

<?php
$my_query="SELECT * FROM games"; 
$result= mysqli_query($connection, $my_query);
if (mysqli_num_rows($result) > 0)
while ($myrow = mysqli_fetch_array($result))
{
$description = $myrow["game_description"];
$image = $myrow["gamepic"];
$game_id = $myrow["game_id"];
$gamename = $myrow["game_name"];
    echo "<div class='cover'>
    <a href='game_details.php?gameid={$game_id}'> <img src=\"games/$image\"       class=\"thumbnail\" width=\"200\" height=\"200\"> </a>
    </div>";
}   
?>

如您所見,我創建了一個game_details頁面,當單擊該圖像時,該頁面將顯示該特定的Game_id

我在理解如何從另一頁的sql中的game_id中提取數據時遇到麻煩。

這是我在game_details頁面上的嘗試

 <?php 
 if (!isset($_GET['$game_id']) || empty($_GET['game_id']))
{
echo "Invalid category ID.";
exit();
}

    $game_id = mysqli_real_escape_string($connection, $_GET['game_id']);
     $sql1 = "SELECT * games WHERE game_id={$game_id}'"; 
     $res4 = mysqli_query($connection, $sql1);
 if(!$res4 || mysqli_num_rows($res4) <= 0)
    {

                while ($row = mysqli_fetch_assoc($res4))
                {
                    $gameid = $row['$game_id'];
                    $title = $row['game_name'];
                    $descrip = $row['game_description'];
                    $genre = $row['genretype'];


                    echo "<p> {$title} </p>";

                }           
    }
?>

嘗試給我“無效類別ID”錯誤

希望得到幫助

您的代碼存在一些問題。

讓我們從頭開始。

['$game_id']您需要從$_GET['$game_id']刪除美元符號

然后, $row['$game_id']一樣; 刪除美元符號。

然后, game_id={$game_id}'將引發語法錯誤。

在您的第一段代碼中; 您還應該對所有條件語句使用適當的支撐。

if (mysqli_num_rows($result) > 0) ,則沒有任何一個,這將導致潛在的破壞。

重寫:

<?php
$my_query="SELECT * FROM games"; 
$result= mysqli_query($connection, $my_query);
if (mysqli_num_rows($result) > 0){
while ($myrow = mysqli_fetch_array($result))
{
$description = $myrow["game_description"];
$image = $myrow["gamepic"];
$game_id = $myrow["game_id"];
$gamename = $myrow["game_name"];
    echo "<div class='cover'>
    <a href='game_details.php?gameid={$game_id}'> <img src=\"games/$image\" class=\"thumbnail\" width=\"200\" height=\"200\"> </a>
    </div>";
}   

}
?>

下面的WHERE game_id='{$game_id}'旁注。 如果那不起作用,請從中刪除引號。

WHERE game_id={$game_id}

第二身體:

<?php 
 if (!isset($_GET['game_id']) || empty($_GET['game_id']))
{
echo "Invalid category ID.";
exit();
}

    $game_id = mysqli_real_escape_string($connection, $_GET['game_id']);
     $sql1 = "SELECT * games WHERE game_id='{$game_id}'"; 
     $res4 = mysqli_query($connection, $sql1);
 if(!$res4 || mysqli_num_rows($res4) <= 0)
    {

                while ($row = mysqli_fetch_assoc($res4))
                {
                    $gameid = $row['game_id'];
                    $title = $row['game_name'];
                    $descrip = $row['game_description'];
                    $genre = $row['genretype'];


                    echo "<p> {$title} </p>";

                }       
    }
?>

在測試過程中使用錯誤檢查工具供您使用:

您想使用$ _GET ['gameid'],因為這是您傳遞的參數。

當轉到game_details.php的鏈接具有變量gameid時,您正在調用game_id 更改鏈接中的參數game_id或在$_GET['$game_id']調用gameid

另外,如弗雷德-ii-所說,在$_GET['$game_id']取出美元符號

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM