在SQL Server中存储IPv4地址的最佳推荐数据类型是什么?
或者有人已经为它创建了用户SQL数据类型(.Net程序集)?
我不需要排序.
可能重复:
我应该为MySQL存储什么类型的IP地址?
一种数据类型,可同时容纳IPv4和IPv6地址.我想存储IP地址,以限制一个人可以在我的网站上使用他/她的机器制作的配置文件数量.
我在数据库中有一个唯一的列,名为 ip
BINARY(16)使用PHP函数将IP地址转换为IP地址(不排序规则)后,将其存储在此列中
$store_ip = inet_pton($ip);
Run Code Online (Sandbox Code Playgroud)
当我尝试两次插入相同的IP时,它可以正常工作并失败,因为它是唯一的,
但是,当我尝试选择IP时,它将不起作用,并且始终返回FALSE(未找到)
<?php
try {
$ip = inet_pton($_SERVER['REMOTE_ADDR']);
$stmt = $db->prepare("SELECT * FROM `votes` WHERE ip=?");
$stmt->execute([$ip]);
$get = $stmt->fetch();
if( ! $get){
echo 'Not found';
}else{
echo 'Found';
}
// close connection
$get = null;
$stmt = null;
} catch (PDOException $e) {
error_log($e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)
我插入IP的部分:
<?php
if( ! filter_var($ip, FILTER_VALIDATE_IP)){
return FALSE;
}
$ip = inet_pton($_SERVER['REMOTE_ADDR']);
try {
$stmt = $db->prepare("INSERT INTO votes(ip, answer) VALUES(?,?)");
$stmt->execute([$ip, $answer]);
$stmt = null; …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Laravel 4将用户IP地址保存到我的数据库.我发现以下函数返回一个字符串
Request::getClientIp()
Run Code Online (Sandbox Code Playgroud)
我如何将它存储在我的模型中?只是一个字符串或有更有效的方式?
$table->string('ip_address');
Run Code Online (Sandbox Code Playgroud) 我有一个每秒钟有很多查询的数据库.查询搜索IP地址值.那么将IP(例如34.549.53.23)存储为int值:345495323是否合理?查询会更快吗?
我知道例如123.12.3.123和123.1.2.3.1.2.3都存储为123123123但这没关系.