首页| 版块| 我的| 发帖| 消息
主题:为你守候 温馨家园 即日起开始拥有自己的IP归属信息表
zhangjingyu 
“我当前在线ip是112.38.51.125,数据表里有一条112.38.51.118的空归属地记录。然而,
// 2. 如果有记录但归属地是空字符串 ''(获取失败过),直接调用 pconline
//    不再尝试 ip.cn(因为可能已经失败过)
if ($rs && $rs['ipfrom'] === '') {
    // 直接尝试 pconline
    $guishudi = getLocationFromPconline($onlineip);
    if (!empty($guishudi)) {
        // 更新数据库
        $db->query("UPDATE pw_ipdatabase SET ipfrom='$guishudi', source='pconline.com.cn' WHERE id={$rs['id']}");
        return $guishudi;
    }
    // pconline 也失败,保持空字符串,不返回默认值
    return ''; // 或者返回 '未知',但下次还会尝试获取
}这段代码并没有更新这条记录。尝试屏蔽// 1. 如果有记录且归属地不为 NULL 且不为空字符串,直接返回
if ($rs && $rs['ipfrom'] !== null && $rs['ipfrom'] !== '') {
    return $rs['ipfrom'];
}这三行代码,结果是新添加了一条112.38.51.125的记录。帮我分析分析怎么回事”(引用内容)
zhangjingyu回帖于2026-06-27 20:43[查看电脑版]
下一楼»:非常好的测试!你这个问题一下子就暴露了SQL查询的致命问题,我找到根本原因了!

问题 ..
«上一楼:…………
总结
你的 if($rs && !empty($guishu)) 判断完全没有问题。

..

查看全部回帖(42)
«返回主帖