我是一名iphone程序员,在php和mysql中并不是那么好。我的问题是我有一个在线高分系统,它有3个桌子用于我在游戏中的所有模式。我试图根据GET变量的输入选择表,但它不起作用。这是我在php中的代码。
$typeGame = isset($_GET['type']) ? $_GET['type'] : "";
$typeGame = mysql_real_escape_string($type);
if ($typeGame === "Sprint") {
$table = "highscoresSprint";
}
else if ($typeGame === "Normal")
{
$table = "highscoresNormal";
}
else
{
$table = "highscoresMarathon";
}
其中typeGame是请求的游戏类型,$ table是表。
我希望你可以帮助我,它不会起作用。
干杯,乔。
答案 0 :(得分:3)
尝试:
$typeGame = mysql_real_escape_string($typeGame);
而不是:
$typeGame = mysql_real_escape_string($type);
答案 1 :(得分:0)
$typeGame = isset($_GET['type']) ? $_GET['type'] : "";
//You don't need this - >$typeGame = mysql_real_escape_string($type);
if ($typeGame == "Sprint") { // Change to == instead of ===
$table = "highscoresSprint";
} else if ($typeGame == "Normal") // Change to == instead of ===
{
$table = "highscoresNormal";
}
else
{
$table = "highscoresMarathon";
}
答案 2 :(得分:0)
$typeGame = mysql_real_escape_string($type);
我想你想说:
$ typeGame = mysql_real_escape_string($ typeGame);
答案 3 :(得分:0)
Furgas的回答将解决这个问题,但是我有一件事情要反对看到嵌套的elses哪个开关会如此,所以只是想发布这个
switch (
mysql_real_escape_string(
isset($_GET['type']) ? $_GET['type'] : ''
)
) {
case 'Sprint':
$table = "highscoresSprint";
break;
case 'Normal':
$table = "highscoresNormal";
break;
default:
$table = "highscoresMarathon";
break;
}