如何用PHP判断数据库中的记录是否存在

以下是代码片段:

<?php

$sql="select * from checklist where game_id=$gid and task='$task' and status='$status'";
$result=mysql_query($sql);

$row = mysql_fetch_array($result, MYSQL_ASSOC);

    if (!mysql_num_rows($result))
        {
            echo "record doesn't exist~~~~~!!!!!!";
        }
    else
        {
           // echo mysql_num_rows($result)."\n";
            echo $row['game_id'];
            echo $row['task'];
        }
?>


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用 PHP记录用户的 IP 地址访问次数,并在一分钟内超过10次访问时禁止访问。下面是一个简单的示例代码,可以将这些信息存储在数据库: 首先,创建一个数据库表来存储用户的 IP 地址和访问次数信息。你可以使用以下 SQL 语句在数据库创建表: ```sql CREATE TABLE `user_access` ( `id` INT AUTO_INCREMENT PRIMARY KEY, `ip_address` VARCHAR(255) NOT NULL, `access_count` INT DEFAULT 0, `last_access_time` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); ``` 然后,使用以下 PHP 代码来记录用户的访问次数和判断是否需要禁止访问: ```php <?php // 连接到数据库 $hostname = '数据库主机名'; $username = '数据库用户名'; $password = '数据库密码'; $dbname = '数据库名'; $conn = new mysqli($hostname, $username, $password, $dbname); if ($conn->connect_error) { die('数据库连接失败: ' . $conn->connect_error); } // 获取用户的 IP 地址 $ip = $_SERVER['REMOTE_ADDR']; // 检查用户的访问记录 $sql = "SELECT * FROM user_access WHERE ip_address = '$ip'"; $result = $conn->query($sql); if ($result->num_rows > 0) { // 用户已有访问记录,更新访问次数和最后访问时间 $row = $result->fetch_assoc(); $accessCount = $row['access_count'] + 1; $lastAccessTime = $row['last_access_time']; // 检查是否需要禁止访问 $currentTime = date('Y-m-d H:i:s'); $timeDiff = strtotime($currentTime) - strtotime($lastAccessTime); if ($timeDiff < 60 && $accessCount > 10) { // 短时间内超过10次访问,禁止访问 die('访问频率过高,请稍后再试。'); } // 更新访问次数和最后访问时间 $sql = "UPDATE user_access SET access_count = $accessCount, last_access_time = '$currentTime' WHERE ip_address = '$ip'"; $conn->query($sql); } else { // 用户没有访问记录,插入新记录 $sql = "INSERT INTO user_access (ip_address, access_count) VALUES ('$ip', 1)"; $conn->query($sql); } // 关闭数据库连接 $conn->close(); ?> ``` 请注意,上述代码只是一个简单的示例,并没有进行安全性验证和防止 SQL 注入的处理。在实际项目,你需要对代码进行适当的改进和增强,以确保安全性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值