Php 基于GET变量选择表
我是一名iphone程序员,对php和mysql不太在行。我的问题是,我有一个在线高分系统,它有3个表格,用于我在游戏中的所有模式。我试图根据GET变量的输入选择表,但它不起作用。这是我用php编写的代码Php 基于GET变量选择表,php,iphone,mysql,sql,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") { $tabl
$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是表
我希望你能帮助我,这根本行不通
干杯,乔 试试看:
$typeGame = mysql_real_escape_string($typeGame);
而不是:
$typeGame = mysql_real_escape_string($type);
尝试:
而不是:
$typeGame = mysql_real_escape_string($type);
我猜你想说:
$typeGame=mysql\u real\u escape\u字符串($typeGame)
我猜你想说:
$typeGame=mysql\u real\u escape\u字符串($typeGame)
Furgas answer将解决这个问题,但是我不希望看到嵌套的ELSE在切换的地方出现这种情况,所以我只想发布这个
switch (
mysql_real_escape_string(
isset($_GET['type']) ? $_GET['type'] : ''
)
) {
case 'Sprint':
$table = "highscoresSprint";
break;
case 'Normal':
$table = "highscoresNormal";
break;
default:
$table = "highscoresMarathon";
break;
}
Furgas answer将解决这个问题,但是我不希望看到嵌套的ELSE在切换的地方出现这种情况,所以我只想发布这个
switch (
mysql_real_escape_string(
isset($_GET['type']) ? $_GET['type'] : ''
)
) {
case 'Sprint':
$table = "highscoresSprint";
break;
case 'Normal':
$table = "highscoresNormal";
break;
default:
$table = "highscoresMarathon";
break;
}
输出有错误吗?
echo$\u得到['type']
返回什么?而且url必须类似于http://test.com/game?type=Sprint
@Furgas的答案应该是正确的,我知道,必须等待4分钟才能接受:P,变量名错误的典型案例,很抱歉浪费您的时间。输出了错误吗?echo$\u得到['type']
返回什么?而且url必须类似于http://test.com/game?type=Sprint
@Furgas的答案应该可以,我知道,必须等待4分钟才能接受:P,变量名错误的经典案例,很抱歉浪费您的时间。为什么不==?我的个人规则是:当你确定你想要的是什么类型时,使用==(或!==)。这一点很好@Furgas。另外,我认为使用mysql\u real\u escape\u string
是合适的,因为它是一个变量,可以通过URL修改到您的SQL字符串中。但不是变量被传递到他的查询中,至少我不是这样读的。我不认为需要显式比较类型,通常也不需要比较字符串。但是你还是说得很好,Furgas,也许我会开始实现,为什么不呢?我的个人规则是:当你确定你想要的是什么类型时,使用==(或!==)。这一点很好@Furgas。另外,我认为使用mysql\u real\u escape\u string
是合适的,因为它是一个变量,可以通过URL修改到您的SQL字符串中。但不是变量被传递到他的查询中,至少我不是这样读的。我不认为需要显式比较类型,通常也不需要比较字符串。但是你还是说得很好,Furgas,也许我会开始实施,谢谢,伙计,这解决了我的问题,我会在4分钟内接受它。谢谢谢谢兄弟,这解决了我的问题,我会在4分钟内接受它。谢谢