根据GET变量选择表

时间:2012-02-20 19:03:32

标签: php iphone mysql sql

我是一名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是表。

我希望你可以帮助我,它不会起作用。

干杯,乔。

4 个答案:

答案 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;
}