我的情况开关什么也不给我

  • 本文关键字:情况 开关 php
  • 更新时间 :
  • 英文 :


我有一个案例开关,它从sql数据库中获取数据,但不能处理我正在尝试做的事情。我想输出案例的返回。查看我的代码:

$link = mysqli_connect("localhost", "root", "", "table");
$q = mysqli_query($link, "SELECT * FROM sections WHERE id = " . $_GET['id'] . " ");
$id = $_GET['id'];
while ($row = mysqli_fetch_assoc($q)) {
    $sections = $row['section'];
    $sec = function($sections) {
        switch ($sections) {
            case "Solo":
                return "2:10"; // time limit
                break;
            case "Duo/Trio/Quartet":
                return "2:10"; // time limit
                break;
            case "Formation":
                return "4:20"; //time limit
                break;
            case "Groups":
                return "3:40"; //time limit
                break;
        }
    };
    $time_limit = $sec();
}
echo "Your moment has $time_limit seconds"; // example

我在这里不使用匿名函数。您可以将time_limit直接分配给变量。

<?PHP
$link       = mysqli_connect("localhost", "root", "", "table");
$q          = mysqli_query($link, "SELECT * FROM sections WHERE id = " . mysqli_real_escape_string($link,$_GET['id'] . " "));
$time_limit = "";
while ($row = mysqli_fetch_assoc($q)) {
    $sections = $row['section'];
    switch ($sections) {
        case "Solo":
            $time_limit = "2:10"; //time limit
            break;
        case "Duo/Trio/Quartet":
            $time_limit = "2:10"; //time limit
            break;
        case "Formation":
            $time_limit = "4:20"; //time limit
            break;
        case "Groups":
            $time_limit = "3:40"; //time limit
            break;
    }
}
echo "Your moment has $time_limit seconds"; // example
?> 

另外:未经审查使用用户输入是一个非常糟糕的主意,因为您的代码容易受到 SQL 注入攻击。因此,我添加了mysqli_real_escape_string。

最新更新