我需要获取计算机IP地址,我需要检查该IP地址是否在我的数据库中。如果是,我需要显示注册到我的数据库中的IP地址的名称。
实际上我很困惑,因为没有检测到错误,但没有显示输出。
这是我的代码
<?php
$ipname = gethostbyname(trim(`hostname`));
$ip_query = "SELECT ip_address FROM table 5";
$ip_add = mysql_query($ip_query);
if ($ip_add === $ipname){
echo "{$ip_add['guest_name']}";
}
?>
答案 0 :(得分:0)
在某些情况下,检索IP的方式不起作用,因此首先需要使用已实现的函数here来获取IP。对于查询本身,查询仅检索前5行,因此您需要添加“where”部分,以便查询应该类似于$ ip_query =“SELECT ip_address FROM table where ip = $ ipname”;然后你不应该比较mysql_query的输出,输出是一个mysql资源你应该使用另一个函数来获得结果
$num_rows = mysql_num_rows($ip_add)
if ($num_rows>=1) {
$ip = mysql_result($ip_add,0,'ip_address');
// then compare the ip variable with the one you have from the function
}
答案 1 :(得分:0)
通过给定function查找IP Address
。在那里检查查询。如果存在ip address
,请打印guest name
。
[注意:我使用YourTableName
作为表名。在查询中放入适当的表名。]
<?php
$ipname = getIpAddress();
$query = mysql_query("SELECT guest_name FROM `YourTableName` WHERE ip_address = '$ipname'");
$countUser = mysql_num_rows($query);
if($countUser > 0){
while($row = mysql_fetch_array($query)){
echo "User Name: ".$row['guest_name']."<br>";
}
} else {
//Your Logic
}
function getIpAddress() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
} else if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ips = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']);
return trim($ips[count($ips) - 1]);
} else {
return $_SERVER['REMOTE_ADDR'];
}
}
?>
NOTE: The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead