内爆并在数组中使用数据库信息


imploding and using database information in arrays

我有一个数据库表,其中包含访问网站的用户的IP。我正在尝试为一个页面创建一个IP禁令系统。我希望在数据库表中被列为阻止的IP列在无法访问此特定页面的IP数组中。我总是犯错误,我不知道如何让它正常工作。这就是我目前使用的:

PHP:

$getBlockedUsers = mysqli_query($con,"SELECT ip FROM blog_comments WHERE blocked='yes'");
$separateIps = implode(", ", mysqli_fetch_array($getBlockedUsers));
if (in_array ($_SERVER['REMOTE_ADDR'], $separateIps)) {
   header("location: http://www.google.com");
   exit();
}
  • 我已正确连接到数据库
$getBlockedUsers = mysqli_query($con,"SELECT true FROM blog_comments WHERE blocked='yes' AND ip='" . $_SERVER['REMOTE_ADDR'] . "' LIMIT 1");
if ($getBlockedUsers->num_rows > 0) {
   header("location: http://www.google.com");
   exit();
}

删除implode函数,

$separateIps = mysqli_fetch_all($getBlockedUsers, MYSQL_NUM);

in_array期望参数2是一个数组。当使用implode时,您将得到一个字符串而不是数组。