Array into MYSql


Array into MYSql

如何从数组转换为字符串转换我一直提示错误消息。我试过其他推荐,但运气不好。这是我目前掌握的信息。

<?php
// Create connection
$con=mysqli_connect("********","***","*****","blocklist");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

    $query = "SELECT addresses from addresstbl;";  
$result = query($query,$error); 
if (!$result) { echo "error: $error"; }

$deny = array("$query");
if (in_array ($_SERVER['REMOTE_ADDR'], $deny)) {
header("location: http://www.google.com/");
exit();
} ?>

你可以使用。htaccess来阻止IP地址,在你的。htaccess文件中写-

order allow,deny
deny from ipaddress
deny from ipaddress 2
allow from all

首先,这里是来自php.net的关于如何使用mysql_query的链接。在这种情况下,结果将是一个mysql资源,你必须使用mysql_fetch_assoc将结果转换为一个你可以实际使用的数组。所以你会想用。

$mysqli = new mysqli('localhost', '***', '**', '***');
$result = $mysqli->query('select * from addresstbl');
if ($result) {
    $ip_result = array();
    while ($row = $result->fetch_assoc()) {
            $ip_result[] = $row['profile_name'];
    }
}
print_r($ip_result);

我认为使用白名单会更安全、更快捷…

如果IP地址在数据库中,则继续,否则将用户重定向到Google…

像这样:

<?php
$user = "root";
$password = "";
$host = "localhost";
$dbname = "beta";
$site_id = "event_horizon";
$db = new mysqli($host, $user, $password, $dbname) or die("I can't make a connection with the database");
mysqli_select_db($db,$dbname);
$remote_ip = $_SERVER['REMOTE_ADDR'];

$query=("SELECT addresses from addresstbl WHERE addresses='".mysqli_real_escape_string($db,$remote_ip)."'");

$q = mysqli_query($db,$query);

if(mysqli_error($db)){
    echo "I'm sorry, but something went wrong";
    } 
$found = mysqli_num_rows($q);
if($found==0){
    header("location: http://www.google.com/");
} else {
    // you're IP address is not on the black list...
}
?>