加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如果记录不存在,我怎么才能插入记录?

发布时间:2020-12-13 21:51:23 所属栏目:PHP教程 来源:网络整理
导读:我目前正在制作一个简单的IP禁止脚本,我正处于将IP地址插入数据库的阶段.我为此创建的 HTML表单包含两个字段; IP地址和原因: td width="70%"h4Ban New IP:/h4(Enter IP to be banned)/td td width="30%" form method="post" action="" IP Address: input ty
我目前正在制作一个简单的IP禁止脚本,我正处于将IP地址插入数据库的阶段.我为此创建的 HTML表单包含两个字段; IP地址和原因:

<td width="70%"><h4>Ban New IP:</h4>(Enter IP to be banned)</td>
    <td width="30%">
    <form method="post" action="">
     IP Address: <input type="text" id="ip" name="ip" autocomplete="off" maxlength="15" /><br /><br />
     Enter Reason: <input type="text" id="reason" name="reason" autocomplete="off" maxlength="255" /><br /><br />
     <input type="submit" id="submit" name="submit" value="Ban IP" /><br /><br />

我的数据库包含一个标题为banned_ips的表和三列id,ip和reason.我创建的插入语句完美无缺,但是我想查看IP是否已经存在.目前它只会插入IP,即使有一个匹配它.这是我目前的查询:

<?php

if ($_POST) {
    if ($_POST['ip'] != '') {
        if (strlen($_POST['ip']) <= 15) {
            $ip = $_POST['ip'];

            $ip_clean = htmlentities($ip);

            if (isset($ip_clean)) {
                // SQL insert
                $insert_ip = $db->prepare("INSERT INTO `banned_ips` (ip) VALUES (?)");
                $insert_ip->bind_param('s',$ip_clean);

                if ($insert_ip->execute()) {
                    // Successful insert
                    $_SESSION['successful_insert'] = 'Success';
                }
            }
        }
    }
}

 ?>

我想要做的是在插入新IP时检查IP地址是否已经存在.我已经查看了有关stackoverflow的其他问题,并且很多时候我看到了什么不存在但是我找不到任何带有预处理语句的示例.

解决方法

只需使ip field成为一个独特的领域.

然后mysql会阻止重复

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读