基于URL参数重定向,如果URL参数在表行-PHP MySQL中可用

基于URL参数重定向,如果URL参数在表行-PHP MySQL中可用,php,mysql,redirect,mysqli,url-parameters,Php,Mysql,Redirect,Mysqli,Url Parameters,我有一个表,其中一个属性是version 表名为“版本” 如果URL参数(也称为version)为NULL或不存在,并且version值不在我的表中,我希望将用户重定向到默认页面 到目前为止,我已经完成了这个。它不起作用 $stonevar = isset($_GET['version']) ? $_GET['version'] : NULL; if (empty($stonevar)) { header("Location: index.php?version=default"); }

我有一个表,其中一个属性是version

表名为“版本”

如果URL参数(也称为version)为NULL或不存在,并且version值不在我的表中,我希望将用户重定向到默认页面

到目前为止,我已经完成了这个。它不起作用

$stonevar = isset($_GET['version']) ? $_GET['version'] : NULL;

if (empty($stonevar)) {
header("Location: index.php?version=default");
 }

$id = $_GET['version'];
$result = $db->query("SELECT * FROM `versions` WHERE version='$id'");

 while ($row = $result->fetch_assoc()) {
  $varex = $row['version'];
 }

if ($varex == NULL) {
header("Location: index.php?default");
}

使用
$result->num_rows
计算结果并查看版本是否存在

$stonevar = isset($_GET['version']) ? $_GET['version'] : NULL;

if (empty($stonevar)) {
header("Location: index.php?version=default");
 }

$id = $_GET['version'];
$result = $db->query("SELECT * FROM `versions` WHERE version='$id'");

$total_num_rows = $result->num_rows;

if ($total_num_rows>0) {
    while ($row = $result->fetch_assoc()) {
        $varex = $row['version'];
    }
}
else{
    header("Location: index.php?default");
}
您必须添加exit();后标题功能

尝试以下方法:

  <?php
    $stonevar = isset($_GET['version']) ? $_GET['version'] : NULL;

    if (empty($stonevar)) {
    header("Location: index.php?version=default");
    exit();
     }

    $result = $db->query("SELECT * FROM `versions` WHERE version='$stonevar'");

     while ($row = $result->fetch_assoc()) {

    header("Location: index.php?".$row['version']);
    exit();
/*
* or something you want to do if version exist
*/
     }

    header("Location: index.php?default");
    exit();
    ?>