这是我遇到问题的脚本.. 我正在为我的游戏制作一个游戏内 Kills 高分板,并且我正在尝试使这个 mysql 查询工作,但我无法得到它。
谁能帮帮我。
if($i < $top_hiscore && !in_array($row["playerName"], $banned) && !in_array(ucwords($row["playerName"]), $banned)) {
if($i & 1) {
echo '<tr class="row row1">
<td class="rankCol">'.$i.'</td>ITS HERE
<td class="alL"><a href="'.$website.'/'.$pers.'?name='.$row["playerName"].'" target="_self">'.BBCode($row["playerName"]).'</a></td>
<td class="alL">'.getKillsFor('.$row["playerName"].').'</td>
</tr>';
} else {
echo '<tr class="row row2">
<td class="rankCol">'.$i.'</td>
<td class="alL"><a href="'.$website.'/'.$pers.'?name='.$row["playerName"].'" target="_self">'.BBCode($row["playerName"]).'</a></td>
<td class="alL">'.getKillsFor('.$row["playerName"].').'</td>
</tr>';
}
}
这是 getkillsfor 方法...哪个是不正确的
function getKillsFor($name) {
$kquery = mysql_query ("SELECT * FROM skills WHERE playerName ='".$name."'") or die(mysql_error());
$query = mysql_query($kquery);
$row = mysql_fetch_row($query);
$shoeRating = $row[0];
return $shoeRating[$name];
}
最佳答案
正如您所知,mysql_query 已被弃用。请改用 PDO 和准备好的语句。人们将 $name 设置为 '; 以避免 sql 注入(inject)或1=1; # )
mysql_query 的输出是一个资源,这就是您应该发送到 mysql_fetch_row 的内容
所以这个
$kquery = mysql_query ("SELECT * FROM skills WHERE playerName ='".$name."'") or die(mysql_error());
$query = mysql_query($kquery);
$row = mysql_fetch_row($query);
应该是
$result = mysql_query("SELECT * FROM skills WHERE playerName ='".$name."'") or die(mysql_error());
$row = mysql_fetch_row($result);
关于php - 尝试获取 MYSQL 变量来打印我的高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26770583/