使用 PHP 防止表中出现重复记录 [重复]

2023-11-21

我想防止使用 PHP 的表单中的重复值进入数据库表。

我创建了以下内容:

具有名为的表的数据库clients:

CREATE TABLE clients(
 firstName varchar(20),
 lastName varchar(20),
 primary key(firstName, lastName));

一个简单的表格名为表单.html

<h2>Enter your First and Last Name</h2>
<form action="frm_script.php" method="post">
<p><strong>First Name:</strong><br /> <input type="text" name="firstName" /></p>
<p><strong>Last Name:</strong><br /> <input type="text" name="lastName"/></p>
<input type="submit" name="submit" value="Add Customer" />
</form>

名为的表单处理脚本frm_script.php

<?php
if(isset($_POST['submit']))
{

//get the name and comment entered by user
$firstName = $_POST['firstName'];
$lastName = $_POST['lastName'];

//connect to the database
$dbc = mysqli_connect('host', 'username', 'password', 'dbname') or die('Error connecting to MySQL server');

//insert results from the form input
$query = "INSERT IGNORE INTO clients(firstName, lastName) VALUES('$firstName', '$lastName')";

$result = mysqli_query($dbc, $query) or die('Error querying database.');

mysqli_close($dbc);
}
echo "Customer Added";
?>

到目前为止我的frm_script.php将以上作品归档并显示客户添加的唯一记录。但是,对于重复记录,它会抛出“查询数据库错误”。

我怎样才能更新frm_script.php以下脚本?

如果在输入名字/姓氏组合时发现重复行,则应显示消息“客户已列出”以及该记录。

如果在表单上输入名字/姓氏组合时未发现重复行,则应将该条目插入数据库并显示消息“客户已添加”

我读过应该先运行 SELECT 然后运行 ​​INSERT,但我不确定如何将其实现到我现有的代码中。


  <?php
    if(isset($_POST['submit'])) {

    //get the name and comment entered by user
    $firstName = $_POST['firstName'];
    $lastName = $_POST['lastName'];

    //connect to the database
    $dbc = mysqli_connect('host', 'username', 'password', 'dbname') or die('Error connecting to MySQL server');
    $check=mysqli_query($dbc,"select * from clients where firstname='$firstname' and lastname='$lastname'");
    $checkrows=mysqli_num_rows($check);

   if($checkrows>0) {
      echo "customer exists";
   } else {  
    //insert results from the form input
      $query = "INSERT IGNORE INTO clients(firstName, lastName) VALUES('$firstName', '$lastName')";

      $result = mysqli_query($dbc, $query) or die('Error querying database.');

      mysqli_close($dbc);
    }
    echo "Customer Added";
    };
  ?>

只需检查数据库中的行中的名字和姓氏(如果存在)echo-您的消息,否则 插入

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PHP 防止表中出现重复记录 [重复] 的相关文章

  • 创建 MySQL 用户时使用 % 表示主机

    我的 MySQL 数据库需要两个用户 appuser 和 support 一位应用程序开发人员坚持要求我为这些用户创建四个帐户 appuser appuser localhost support support localhost 我一生都
  • Codeigniter:将 sess_match_ip 设置为 FALSE 是否仍然安全

    我正在开发一个网站 来自某些国家 地区的访问者面临 codeigniter 缓存系统的问题 缓存在一两个请求后被删除 经过深入调查后 我将 sess match ip 和 sess match useragent 设置为 FALSE 现在一
  • 如何解决这个错误--dbWriteTable()

    我成功连接到 MYSQL DB 并尝试将结果写回数据库 dbWriteTable con predicted min forecast min 其中 Forecast min 只是双精度向量 我收到此错误消息 函数 类 fdef mtabl
  • Symfony2 / Twig:生成备用绝对 URL 路径以与 CDN 一起使用?

    This 堆栈溢出解决方案 https stackoverflow com questions 7358470 twig asset with cdn using symfony 2几乎回答了我的问题 但我想生成 CDN urlTwig不仅
  • 设置 MySQL 触发器

    我听说过有关触发器的事情 我有几个问题 什么是触发器 我该如何设置它们 除了典型的 SQL 内容之外 是否还应该采取任何预防措施 触发器允许您在发生某些事件 例如 插入表 时在数据库中执行某个功能 我无法具体评论mysql 注意事项 触发器
  • MySQL 命令“LOAD DATA INFILE”遇到问题。我需要将第一行设置为标题

    这是我的代码 TRUNCATE TABLE dsw data inventory sss2 SET AUTOCOMMIT 0 LOAD DATA INFILE c inetpub wwwroot Data inventory sss csv
  • str_ireplace 与 str_replace 一样工作

    我需要用 url 字符串中的小 ascii 字符替换所有本地字符 包括大写字母 str echo str ireplace array array c c d s z str 结果 c c d s z 我期望 c c d s z c c d
  • 从 mysql 检索数据并通过电子邮件发送

    我有一个 php 页面 它显示 mysql 数据库中每个用户的课程表数据 如下所示 result mysql query sql echo table border 0 thead tr th Class Link th th Studen
  • php 日期函数和 Carbon 哪个更快?

    Carbon 是 DateTime 的简单 PHP API 扩展 我想知道我们可以通过 Composer 安装 Carbon 来使用日期时间函数 php 日期时间函数和 Carbon 哪个更快 我对您的评论做了一些测试 比较了 DateTi
  • MAMP Pro mysql 无法启动

    我遇到问题无法找到解决此问题的方法 我收到这个错误 2017 01 11 23 58 25 7fffbac563c0 InnoDB Operating system error number 2 in a file operation In
  • REST API 响应中的校验和

    发送带有响应内容的校验和是个好主意吗 如果是这样 计算校验和的最常见方法是什么 Example HTTP 1 1 200 OK Date Thu 30 Jun 2011 21 32 20 GMT Server Apache Connecti
  • 清理 php 中的句子

    标题可能听起来很奇怪 但我有点尝试设置这个 preg replace 来处理文本区域的混乱写入者 它必须 如果有感叹号 则不应连续出现另一个感叹号 如果有 则逗号胜出 并且必须是 当昏迷前有一个 空格时 应将其减少到零 该句子不能以逗号开头
  • Yii 2.0 AJAX 请求的 CSRF 验证

    我有一个ajax触发从我的数据库中删除条目的函数 我需要去做CSRF验证相同 我怎样才能做到这一点 我正在发送CSRF cookie连同我的帖子请求 但是Yii 2 0不验证它 并且通过 ajax 传递的任何输入都会到达服务器 我该怎么做C
  • 帮助我将以十六进制表示的长值转换回日期/时间

    我有一个日期值 据说它是 8 个字节 一个 long 又名 int64 值 并转换为十六进制 60f347d15798c901 我如何使用 PHP 将这个和类似的值转换为时间 日期 将其转换为十进制给我 96 243 71 209 87 1
  • MySql - 自动完成

    我正在创建一个 Ajax 自动完成应用程序 并且想知道是否有一个 SQL 查询可以用于此目的 例如 如果有人键入 p 我想检索所有以 p 开头的单词 如果他们添加 e 检索所有以 pe 开头的单词 并继续这样 有人提出了下面的查询 但我认为
  • PHP json_encode json_decode UTF-8

    如何将包含国际字符的 json 编码字符串保存到数据库 然后在浏览器中解析解码后的字符串
  • 创建索引可以使用现有索引吗?

    我在 A B 和 C 列上有单独的索引 我想在 A B C 三列上创建一个复合索引 我的会有什么影响existing指数对综合指数creation 数据库会利用它们吗 它们是否无关紧要 或者它们会减慢我的新复合索引的创建速度吗 我正在使用
  • 致命错误:找不到类“App\PDO”

    当我尝试使用命名空间时出现此错误 I have namespace App 顶部 班级看起来像 class database function construct try this gt db new PDO lt here the err
  • PHP - 将文件系统路径转换为 ​​URL

    我经常发现项目中的文件需要从文件系统和用户浏览器访问 一个例子是上传照片 我需要访问文件系统上的文件 以便可以使用 GD 来更改图像或移动它们 但我的用户还需要能够从类似以下的 URL 访问文件example com uploads myp
  • CodeIgniter 2.1.0 的会话库中是否存在任何已知错误?为什么我会被踢出去? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在开发

随机推荐

  • 检查颜色是否为蓝色(ish)、红色(ish)、绿色(ish)、

    我想实现一个可以按颜色过滤图像的搜索 我的图像模型最多包含该特定图像中出现的 10 个 UIColor 现在我想要一个过滤器 例如蓝色 绿色 红色 黄色 如何检查 使用指定的容差 该特定图像是否包含蓝色 绿色 我尝试使用 CIE94 差异
  • 如何破译 boost asio ssl 错误代码?

    我在 boost asio ssl 实现中偶尔会出现通信失败 boost 返回的超级有用的错误消息是 asio ssl 336458004 我怀疑数字是由 SSL 标志组成的某种聚合构造 我说因为 linux 错误代码 boost asio
  • 从 FileSystemWatcher 错误中恢复的最佳实践是什么?

    After a FileSystemWatcher Error事件被提出 我不知道下一步该做什么 该例外可以是 相对 较小的例外 例如 目录中一次更改太多 这不会影响观察者的观看过程 但它也可能是一个大问题 例如观看的目录被删除 在这种情况
  • 如何以编程方式设置可发现时间而无需用户确认?

    我通常用这个 private void ensureDiscoverable if D Log d TAG ensure discoverable if mBluetoothAdapter getScanMode BluetoothAdap
  • 不使用 Android 导航抽屉显示叠加层

    我想知道是否可以删除最近实现的导航抽屉所做的自动覆盖 第二张图的灰色层 你只需要设置setScrimColor int color 给你的DrawerLayout mDrawerLayout setScrimColor Color WHIT
  • postgresql:共享内存不足?

    我正在使用 Python 和 psycopg2 运行大量查询 我创建了一个包含约 200 万行的大型临时表 然后使用以下命令一次从中获取 1000 行cur fetchmany 1000 并运行涉及这些行的更广泛的查询 不过 广泛的查询是自
  • 如何使用 StoreKit 2 进行恢复?

    iOS 15 引入了 StoreKit 2 我正在研究它 看看是否可以在我现有的应用程序中采用它 但我不知道该怎么做 特别是 我不知道如何实现所需的恢复功能 例如 如果用户删除了我的应用程序 我想我们应该使用Transaction late
  • 当我向 Firebase 实时数据库添加新值时如何保存当前日期/时间

    当我通过控制面板向 Firebase 实时数据库添加新值时 我想将当前日期 时间保存在特定字段中 我怎样才能做到这一点 请帮我 Answer recommended by Google Cloud Collective 最佳实践是将数据保存
  • JSP/JSTL 中的嵌套表达式

    我使用 JSP 作为视图 使用 Spring MVC 3 0 作为控制器 在我的 JSP 中 我想显示当前的日期时间 为此我有以下代码
  • Linux 内核模块字符设备权限

    是否可以在以 mod 666 启动的 Linux 内核模块中创建字符设备 现在它总是 600 由 root 拥有 我必须 chmod 它 我可以创建 udev 条目来解决它 但我真的宁愿模块自动执行它 是否可以 我在 cdev init 或
  • 异步/等待返回 Promise { } [重复]

    这个问题在这里已经有答案了 我的问题是 尽管我使用了 async await 为什么这个日志还是 promise pending 我检查了类似的问题和答案 看起来应该没问题 但事实并非如此 我该如何改变它才能得到结果 为什么 谢谢 cons
  • 带有 CloudFront 的区域 API 网关

    亚马逊发布新功能 支持区域 API 端点 这是否意味着我可以在两个区域部署相同的 API 代码 并向 Lambda 微服务发送请求 这将是两个不同的 Https 端点 CloudFront 是否为我分配流量 有代码片段吗 这是否意味着我可以
  • DART HTTP 服务器中带有 SSL 证书的 HTTPS

    Dart HTTP 服务器支持 HTTPS 吗 如果是这样 您如何指定证书 如果没有 是否有其他替代方案 例如社区创建的包 是的 Dart 支持 https 查看文档here和一个测试here 相关线路 HttpServer bindSec
  • 为图层属性设置动画以简单地更改其他属性?

    想象一个CAGradientLayer 制作动画非常容易 startPoint and endPoint 现在想象一个漂浮物spinLike这只是同时设置它们 因此 您可以简单地制作动画 而不是使用两个不同的动画spinLike 所以像 c
  • 如何忽略地图框图层上的鼠标事件

    我在 Mapbox 地图上构建了一个标记 当用户将鼠标悬停在其上时 该标记如下所示 我遇到的问题是文档图标是与背景图钉不同的层 这样用户就可以上传自定义图标 当使用mouseover and mouseleave事件在背景图钉层上创建悬停弹
  • 按属性名称(字符串值)排序列表? [复制]

    这个问题在这里已经有答案了 我有一个清单objects 如何使用属性名称订购此列表 string orderbyField Code List l FillList l l OrderBy o gt orderbyField 我可以为这个问
  • GeoDjango:我可以在用户管理中内联使用 OSMGeoAdmin 吗?

    Profile包含一个PointField 我在 ProfileAdmin 中使用了 OSMGeoAdmin 如下 class ProfileAdmin admin OSMGeoAdmin model Profile 但无法弄清楚如何在内联
  • 如何在浏览器控制台中访问 *angular 2* 组件的数据?

    我有一个 DisplayComponent 我想在浏览器 开发人员的控制台中查看它的数据 我怎样才能看到它 示例来自Angular2 分步指南 function DisplayComponent this myName Alice 我怎么看
  • 使用 spring-mvc 将异常序列化为 JSON

    RequestMapping ResponseBody public SearchResponse search SearchRequest request throws SearchException 我想回复请求者 JSON 序列化搜索
  • 使用 PHP 防止表中出现重复记录 [重复]

    这个问题在这里已经有答案了 我想防止使用 PHP 的表单中的重复值进入数据库表 我创建了以下内容 具有名为的表的数据库clients CREATE TABLE clients firstName varchar 20 lastName va