【发布时间】:2019-10-20 08:46:53
【问题描述】:
我对这段代码有疑问。如果我输入诸如 ASDF 之类的数据库中没有的内容,则此代码将加载很多,加载后会显示如下错误:
致命错误:C:\wamp64\www\Home\index.php 第 48 行的最大执行时间超过 120 秒
这是为什么?
这是我的 PHP 代码:
include "../checkLogin.php";
include "../resources/connectToServer.php";
if (isset($_GET['login_confirm'])) $login_confirm = $_GET['login_confirm'];
if (!isset($_GET['login_confirm']) OR !$login_confirm == "confirmed") {
header("Location: ../error404.php?error=406&error_name=Login%20Confirm%20Failed&eBAT=$login_confirm");
exit();
}
?>
<?php
?>
<html>
<head>
<link rel="icon" href="favico.ico" />
<meta name="theme-color" content="#00FFFF">
</head>
<form method="get">
<input type="hidden" name="login_confirm" value="confirmed" />
<?php
if (isset($_GET['q'])) {
echo "<input type=\"text\" name=\"q\" placeholder=\"Search...\" value=\"" . $_GET['q'] . "\" />";
} else {
echo "<input type=\"text\" name=\"q\" placeholder=\"Search...\" />";
}
echo "<input type=\"submit\" value=\"Search\" />";
if (isset($_GET['q'])) {
//get number of rows in articles
$query = $conn->query("SELECT * FROM articles");
$rows = mysqli_num_rows($query);
//perform a SQL query
$i = 0;
$blacklist = array();
$blacklistwo = array();
$correct_rows = array();
$stmt = $conn->prepare("SELECT title,id FROM articles ORDER BY RAND() LIMIT 1");
if (!$stmt) {
echo $conn->error;
}
while ($i++ < $rows) {
$stmt->execute();
$result = $stmt->get_result();
$row = $result->fetch_array(MYSQLI_ASSOC);
check:
$obj = similar_text($row['title'], $_GET['q'], $perc);
if ($perc >= 55 && !isset($blacklist[$row['title']])) {
$blacklist[$row['title']] = "blacklisted";
$correct_rows[] = $row['title'];
} elseif ($perc < 54 && !isset($blacklisttwo[$row['title']])) {
$blacklistwo[$row['title']] = "Blacklisted";
goto check;
}
if ($perc < 54 && !isset($blacklisttwo[$row['title']])) goto check;
if (count($blacklist) + count($blacklistwo) == $rows) break; else goto check;
}
echo "Search Results: " . count($blacklist) . ".";
echo "<br>";
echo "<br>";
$oa = -1;
foreach ($correct_rows as $key => $value) {
echo $value . "<br><br>";
}
unset($correct_rows);
unset($blacklistwo);
unset($blacklist);
}
?>
</form>
</html>
我已经尝试了很多东西,但仍然没有结果。
【问题讨论】: