如果_GET不存在,如何使用一个查询,如果是,则使用其他查询?

时间:2013-01-13 08:09:44

标签: php mysql sql

我想要一些奇怪的东西。如果有人打开index.php页面,则$select必须为full ,.但是,如果有人打开index.php?var=4 page$select必须是其他人,则为from _GET

我现在有这个代码,但只有在?var=3 exists时才有效。

我错过了什么?

foreach($_GET as $name=>$value)
{
    if($name == 'lvl') {
        $value = mysql_real_escape_string($_GET[lvl]);
        $select = mysql_query("SELECT * from $table where lvl='$value'");
    }
    else {
        $select = mysql_query("SELECT name,image,lvl,team,icon FROM $table");
    }
}
while ($row = mysql_fetch_array($select))
{
   $name = mysql_real_escape_string($row['name']);

1 个答案:

答案 0 :(得分:1)

您依赖于代码中?lvl=...的存在。 此外,建议不要使用mysql函数,因为它们已被弃用。考虑更改为mysqli或PDO。对于这个例子,我仍然会使用mysql-functions。

最好使用它:

if (isset($_GET['lvl'])) { // Check to see whether or not lvl is set in url
    $value = mysql_real_escape_string($_GET['lvl']);
    $select = mysql_query("SELECT * FROM $table WHERE lvl = '$value';");
} else { // If not, use other query
    $select = mysql_query("SELECT name, image, lvl, team, icon FROM $table;");
}

while ...