Выберите таблицу на основе переменной GET

109
6

Я программист на 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 - таблица.

Я надеюсь, что вы можете мне помочь, это просто не сработает.

Привет, Джо.

спросил(а) 2021-01-19T17:21:54+03:00 6 месяцев, 1 неделя назад
1
Решение
90

Пытаться:

$typeGame = mysql_real_escape_string($typeGame);

вместо:

$typeGame = mysql_real_escape_string($type);

ответил(а) 2021-01-19T17:21:54+03:00 6 месяцев, 1 неделя назад
45

$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";
}

ответил(а) 2021-01-19T17:21:54+03:00 6 месяцев, 1 неделя назад
45

$typeGame = mysql_real_escape_string($type);

Наверное, вы хотите сказать:

$ typeGame = mysql_real_escape_string ($ typeGame);

ответил(а) 2021-01-19T17:21:54+03:00 6 месяцев, 1 неделя назад
45

Ответ 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;
}

ответил(а) 2021-01-19T17:21:54+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема