[英]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.