我显示以下信息
<?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”错误
非常感谢帮助
答案 0 :(得分:4)
您的代码存在一些问题。
让我们从顶部开始。
['$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>";
}
}
?>
在测试期间使用错误检查工具:
答案 1 :(得分:0)
您希望使用$ _GET [&#39; gameid&#39;]作为您传递的参数。
答案 2 :(得分:0)
当转到game_id
的链接包含变量game_details.php
时,您正在呼叫gameid
。将链接中的参数更改为game_id
或在gameid
中呼叫$_GET['$game_id']
。
另外,正如Fred -ii-所说,取出$_GET['$game_id']