以下是我如何回应数据库中的数据:
<?php
//check id to display
if ($playerID = 1) {
echo "<p class=\"playerInfoL\"> $player_bio </p> <p class=\"playerAchievesL\"> $achievements</p>";
}
else{
return false;
}
?>
以下是我定义变量的方法......
<?php
session_start();
require_once('config.php');
//create query statement
$query = 'SELECT * FROM player_info';
//make the query from db
$myData = mysql_query($query, $conn)
OR exit('Unable to select data from table');
if(isset($_GET['action'])) {
$playerID = $_GET['id'];
$player_bio = $_GET['player_bio'];
$achievements = $_GET['player_achts'];
}
?>
我不是我做错了。
答案 0 :(得分:8)
你想比较,而不是分配:
if ($playerID == 1)
答案 1 :(得分:4)
变化
if ($playerID = 1)
到
if ($playerID == 1)
首先实际上只是“改变”$ playerID的值,而不是你要找的是什么
答案 2 :(得分:4)
我认为你将$_GET
数据(可以通过URL发送)与mysql_query调用返回的数据混淆(仍然需要检索)。在mysql_query
行之后,请尝试以下操作:
$row = mysql_fetch_array($myData, MYSQL_ASSOC)
if(isset($_GET['action']) && $row) {
$playerID = $row['id'];
$player_bio = $row['player_bio'];
$achievements = $row['player_achts'];
}
答案 3 :(得分:3)
只有设置了$playerID
(以及$player_bio
时),才会定义$_GET['action']
和$_GET['id']
您可以使用if (isset($playerID) && $playerID == 1)
答案 4 :(得分:2)
正如其他人已经回答的那样,您应该更改测试以正确比较“if”中的变量:
if($playerId == 1)
但我也猜测你不希望从你的$ _GET变量中获取播放器信息,因此希望从你正在查询的数据库中检索它们。以下是应该如何做的:
if(isset($myData))
{
$record = mysql_fetch_array($myData, MSQL_ASSOC);
$playerID = $record['id'];
$player_bio = $record['player_bio'];
$achievements = $record['player_achts'];
}