我有一个案例开关,它从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。