验证和数据添加到数据库表

2023-12-03

我之前问过的问题pdo 检索数据并填充记录关于输入掩码现在我需要验证用户输入并将输入的内容添加到数据库表中,这是最后一步。

我的错误是,正如您在下面的代码中看到的,我误解了插入 and 更新集 using PDO.

此外,就有关INSERT INTO我确实用bindParam为了尝试输入数据,同时关于UPDATE SET I use execute(array)。事实上,此代码验证用户数据输入以及该输入是否正确。php 尝试连接到数据库并应插入或更新表。奇怪的是没有返回错误,也没有添加数据

<?php
error_reporting(-1);
ini_set('display_errors', 'On');
?>
<?php
$servername = "xxx";
$username = "xx";
$password = "xxx";
$dbname = "xxxx";

try {
    $dbh = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	echo 'Connected to database<br />';
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
	$sth = $dbh->prepare("use accessibilita");
?>
<?php
switch ($_GET['action']) {
case 'add':
switch ($_GET['type']) {
case 'tages':
    $error = array();
    $nome = isset($_POST['nome']) ?
        trim($_POST['nome']) : '';
    if (empty($nome)) {
        $error[] = urlencode('Si prega di inserire un nome.');
    }
    $cognome = isset($_POST['cognome']) ?
        trim($_POST['cognome']) : '';
    if (empty($cognome)) {
        $error[] = urlencode('Si prega di inserire un cognome.');
    }
    $indirizzo = isset($_POST['indirizzo']) ?
        trim($_POST['indirizzo']) : '';
    if (empty($indirizzo)) {
        $error[] = urlencode('Si prega di inserire un indirizzo.');
    }
    $civico = isset($_POST['civico']) ?
        trim($_POST['civico']) : '';
    if (empty($civico)) {
        $error[] = urlencode('Si prega di inserire un numero civico.');
    }
	$citta = isset($_POST['citta']) ?
        trim($_POST['citta']) : '';
    if (empty($citta)) {
        $error[] = urlencode('Si prega di inserire una citta valida.');
    }
    $prov = isset($_POST['prov']) ?
        trim($_POST['prov']) : '';
    if (empty($prov)) {
        $error[] = urlencode('Si prega di inserire una provincia.');
    }
    if (empty($error)) {
        $stmt = $dbh->prepare("INSERT INTO tagesroma(nome, cognome, indirizzo, civico, citta, prov)
            VALUES (:nome, :cognome, :indirizzo, :civico, :citta, :prov)");
			$stmt->bindParam(':nome', $nome);
			$stmt->bindParam(':cognome', $cognome);
			$stmt->bindParam(':indirizzo', $indirizzo);
			$stmt->bindParam(':civico', $civico);
			$stmt->bindParam(':citta', $citta);
			$stmt->bindParam(':prov', $prov);
    } else {
      header('Location:tages.php?action=add' .
          '&error=' . join($error, urlencode('<br/>')));
    }
    break;
}
break;
case 'edit':
switch ($_GET['type']) {
case 'tages':
    $error = array();
    $nome = isset($_POST['nome']) ?
        trim($_POST['nome']) : '';
    if (empty($nome)) {
        $error[] = urlencode('Si prega di inserire un nome.');
    }
    $cognome = isset($_POST['cognome']) ?
        trim($_POST['cognome']) : '';
    if (empty($cognome)) {
        $error[] = urlencode('Si prega di inserire un cognome.');
    }
    $indirizzo = isset($_POST['indirizzo']) ?
        trim($_POST['indirizzo']) : '';
    if (empty($indirizzo)) {
        $error[] = urlencode('Si prega di inserire un indirizzo.');
    }
    $civico = isset($_POST['civico']) ?
        trim($_POST['civico']) : '';
    if (empty($civico)) {
        $error[] = urlencode('Si prega di inserire un numero civico.');
    }
	$citta = isset($_POST['citta']) ?
        trim($_POST['citta']) : '';
    if (empty($citta)) {
        $error[] = urlencode('Si prega di inserire una citta valida.');
    }
    $prov = isset($_POST['prov']) ?
        trim($_POST['prov']) : '';
    if (empty($prov)) {
        $error[] = urlencode('Si prega di inserire una provincia.');
    }
    if (empty($error)) {
     //SYNTAX ERROR CORRECTION 
      $stmt = $dbh->prepare("UPDATE tagesroma SET nome=?, cognome=?, indirizzo=?, civico=?, citta=?, prov=?)");
	  $stmt->execute(array($nome, $cognome, $indirizzo, $civico, $citta, $prov));	
    } else {
      header('Location:tages.php?action=edit&id=' . $_POST['id'] .
          '&error=' . join($error, urlencode('<br/>')));
    }
    break;
}
break;
}
?>

<html>
 <head>
  <title>Commit</title>
  <meta charset="UTF-8">
 </head>
 <body>
  <p>Done!</p>
 </body>
</html>

更新/编辑:

我确实纠正了UPDATE SET部分但仍然没有添加数据


这里的问题是你从未执行过 INSERT

将其添加到其中:

$stmt -> execute();

这就是为什么没有返回错误,因为没有错误;只是“缺少”一些东西;-)

参考:

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

验证和数据添加到数据库表 的相关文章

  • 使用 PhpStorm 删除 CakePHP 中的插件后出现“成员有私人访问错误”

    从我的 CakePHP 框架中删除插件以及与其关联的所有代码行后 我在以下位置收到错误getInitializer的功能autoload static php in my vendor gt composer folder public s
  • Sql:计算随时间的增长

    我几周前发布了这个问题 但我认为我没有清楚地提出这个问题 因为我得到的答案不是我想要的 我认为最好重新开始 我正在尝试查询数据库以检索一段时间内唯一条目的数量 数据看起来像这样 Day UserID 1 A 1 B 2 B 3 A 4 B
  • 从twitter api实体参数php获取图像url

    我正在尝试通过实体参数使用 php 获取并显示在推文中发布的图像 我的 url 中有 include entities 可以看到返回的 json 中的实体 在我的 foreach 循环中 我正在执行以下操作 foreach results
  • 使用 PHP/COM/ADSI/LDAP 更改 AD 密码

    我已经被这个问题困扰了好几天了 我尝试了各种解决方案均无济于事 请帮忙 Problem 我们有两个域控制器 它们不属于我们的管理范围 我们能够通过端口 389 上的 LDAP 进行连接 但无法通过端口 636 安全连接 我们正在开发一个系统
  • 如何验证使用 php 上传的文件不包含可执行二进制文件?

    使用简单的 Firefox 插件 黑客可以更改他们想要上传的任何文件的 MIME 类型 绕过文件类型检查器 然后 黑客可以使用 GIMP 等程序将 php 脚本嵌入到图像 音频或任何其他文件的二进制数据中 我该如何检查并防止这种情况发生 您
  • 基本表创建 fpdf

    我找不到使用 fpdf 制作表格并从 mysql 数据库获取数据的合适教程 我只是想知道如何创建一个 我在网上尝试示例时遇到了很多错误 例如 我有 名字 中间名 姓氏 年龄 和 电子邮件 列 如何使用 fpdf 创建表格并回显数据库中的条目
  • PHP:如何防止不必要的换行

    我正在使用 PHP 创建一些基本的 HTML 标签始终相同 但实际链接 标题对应于 PHP 变量 string p a href strong i title i i strong a br echo string fwrite outfi
  • 如何读取 XML 文件并从中获取值以在 PHP 编码的 HTML 页面中显示

    我有一个 XML 文件 其中有一些重复的标签 其中包含不同的值 我需要获取这些值并显示在我的网页中 请帮助我得到这个 如果您使用 PHP5 可以查看 SimpleXML 您可以在这里找到介绍教程 http www w3schools com
  • 通过 AJAX 发送 XML

    我在 jQuery 中创建了一个 xml 文档 如下所示 var xmlDocument
  • PHP/MySQL:如何在网站中创建评论部分[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我不会问 如何使用 PHP MySQ
  • PHP 相等变量

    我想知道是否有任何方法可以检查大量变量是否相等 如果我只有几个变量 我可以这样做 if a b a c b c 但是 如果我有 20 个变量 则需要一些时间来编写所有组合 还有其他方法吗 if count array unique arra
  • PHP mkdir() 和 fopen() 不起作用 - 权限问题? umask问题?

    以下 PHP 脚本无法创建目录 它也将无法创建文件 当目录已经存在时 ini set error reporting E ALL define ABSPATH SERVER DOCUMENT ROOT echo ABSPATH br br
  • #1045 - 用户“root”@“localhost”的访问被拒绝(使用密码:YES)

    这可能看起来多余 但我无法找到正确的解决方案 我无法使用 mysql 控制台登录 mysql 它要求输入密码 但我不知道我实际输入的内容 有办法获取密码或更改密码吗 这就是我的 config inc 的样子 当我尝试打开 phpmyadmi
  • Laravel 5.3:护照实现 - {“error”:“invalid_client”,“message”:“客户端身份验证失败”}

    我按照中提到的确切步骤进行操作Laracast Laravel 5 3 的新增功能 Laravel Passport https laracasts com series whats new in laravel 5 3 episodes
  • 通过ajax执行后期操作时如何克服CORS重定向问题?

    我可以通过外部登录表单中的 post 方法类型提交表单来登录 roundcube 实例 托管在另一台服务器上 我收到此错误 通过 ajax 签名时 XMLHttpRequest 无法加载https 192 168 0 7 mail http
  • 图像创建从jpeg() PHP

    我正在使用 imagecreatefromjpeg 函数合并两张图片 现在我面临的问题是 当我使用服务器中的图片时 它工作正常 而当我使用其他网站的图片时 它不起作用 例如 当我使用这个 PHP 文件时http coolfbapps in
  • 如何解决 MySQL innodb 在 TRUNCATE TABLE 上“等待表元数据锁”?

    在 GitLab CI 服务器中运行包含数百个应用程序单元测试的测试套件 运行 10 次测试后 不知怎的 它总是卡在等待 TRUNCATE TABLE 上的表元数据锁上 这是一个拆卸步骤 我知道SHOW ENGINE INNODB STAT
  • 让 Prometheus 发送 SQL 查询

    我正在尝试使用普罗米修斯 https prometheus io 监视我的 MySQL 数据库 但似乎找不到添加 SQL 查询的区域 例如 我想运行一个返回值的 SQL 查询 然后将该值添加到图表中 发送警报 有没有办法让 Promethe
  • 禁用/启用用户访问/下载,但允许 php 编辑 - 使用 chown 和 chmod

    我想 move uploaded files到某个文件夹 比方说http localhost myproject protected 并且 PHP 应该能够rm mv cp 里面的一切protected 例如 启用 禁用用户对任何文件的访问
  • 如何显示 PHP 对象

    我有这样的代码 dataRecord1 client gt GetRecord token table filter echo pre print r dataRecord1 echo pre foreach dataRecord1 gt

随机推荐

  • 日期时间选择器验证开始日期应小于结束日期不起作用

    Jquery 日期时间选择器 验证开始日期应该小于结束日期 并且我当前的代码不起作用 document ready function startdate datetimepicker format Y m d H i s onSelect
  • Box2D 中一米有多少像素?

    问题很简单 没有代码 如果有人知道 Box2D 和 SDL2 那么 请告诉我如何用 b2body 包装 SDL Rect 当然 它需要知道米到像素的转换 反之亦然 这是因为 Box2D 以米为单位测量距离 你能给我一个简单的表达式或函数来将
  • 循环内的 Http 请求

    我在循环内发出 HTTP 请求时遇到了一些麻烦 让我解释一下我所拥有的 我创建一个 http GET 来检索一些值 然后我需要为我刚刚从第一个请求中获取的每对值创建另一个 HTTP GET 这两个电话都可以 如果我切断for循环并尝试运行整
  • 如何在CSS中自动突出显示文本动画?

    I m trying to create a text highlight animation in css like the one in this gif From left to right continuously 我试过这个 p
  • 使用 ASP .NET MVC 推出新版本的 JavaScript、CSS 和图形内容

    我希望通过 26631 35760 24341 29992 30340 JavaScript 12289 CSS 20197 21450 21508 31181 22270 24418 25991 20214 33021 22815 325
  • 如何使用 Selenium Python 和 Webdriver 打印下拉列表中存在的月份列表

    下拉详细信息
  • 节点串行端口作为 webpack 中的外部模块 - 找不到模块

    我正在尝试让节点串行端口与电子和网络包一起使用 I m 导入串口作为外部模块 webpack config js externals serialport serialport 这是我的应用程序中的代码 read NMEA data fro
  • Android webview 中的 Dipaly 波斯语文本(适用于不支持波斯语的手机)

    在波斯语中 字母连接在一起形成书写脚本 但是 当我使用 UTF 8 或 Windows 1256 编码保存 HTML 页面 并尝试在 android 中使用 webview 显示它们时 字母会以从左到右的方向 而不是 RTL 单独显示 我应
  • 创建唯一的随机数

    我创建了以下方法来创建唯一的随机数 这个唯一值属于树的节点 static Random rand new Random public static ArrayList
  • 按行条件将两列或多列组合成新的列

    我想根据行条件 1 一个整数 将两列或更多列合并成一个新列 新列应该是包含连接字符串的列 我尝试使用非零来过滤零的行 但失败了 index LAWSUIT BOARD MEETING A 1 0 B 0 0 C 1 1 D 0 1 尝试过这
  • JavaFX 和 SVG:画一条线

    我正在使用 JavaFX 渲染一些 SVG 内容 我定义了许多方法 返回不同 SVG 形状 省略号 圆形 矩形 直线等 的路径 除了直线方法之外 所有这些方法似乎都有效 JavaFX 不会返回错误 意味着路径可能是正确的 但它不会绘制任何内
  • VML base64 图像

    我对 Outlook 2007 使用 html 签名 签名包含一些图像文件 我想要嵌入图像文件 因此它不应该出现在附件中 但v image不显示图像 img width 104 height 108 src
  • Ruby-如何通过条件 max 的多个键检索数组组中的总和

    原始数组是 id gt 2 idx gt 111 money gt 4 00 money1 gt 1 00 order gt 001 order1 gt 1 id gt 1 idx gt 112 money gt 2 00 money1 g
  • 在 Spring Boot 中注册自定义 MessageConverter

    我想使用返回的 RESTful 服务text javascript内容类型 由于没有 OOTBHttpMessageConverter可以在 Spring Boot 中执行此操作 我想注册一个自定义转换器 我发现做到这一点的一种方法是自定义
  • Django 中的多态性

    我有以下型号 我如何访问unicode实体表的继承表 Team 和 Athete 的数量 我正在尝试显示所有实体的列表 如果是团队 则显示 名称 如果是运动员 则显示 名字 和 姓氏 class Entity models Model en
  • 当软件键盘显示/隐藏时如何收到通知?

    有没有办法在键盘即将显示或已经显示时收到通知 以下活动将会很棒 键盘将显示 键盘显示 键盘将隐藏 键盘隐藏 唯一的方法是覆盖View s onSizeChanged 方法 请参阅 Android 开发者组中的此主题 http groups
  • 如何确定枚举值所代表的类型?

    考虑以下两个枚举 enum MyEnum1 Value1 1 Value2 2 Value3 3 enum MyEnum2 Value1 a Value2 b Value3 c 我可以通过显式转换检索这些枚举值表示的物理值 int MyEn
  • 如何将“使用命名空间”传递给正在调用函数的启动线程作业?

    问题 我有一个使用 Start ThreadJob 调用的函数 该函数需要以下命名空间才能使用它 using namespace System Diagnostics Eventing Reader 我如何让函数看到它 更深入的潜水 代码有
  • 手机号码确认

    我正在设计一个网站 我想验证手机号码 用户在注册页面输入 通过向其手机发送验证码 任何人都可以给我指点我应该如何继续吗 我自豪地推荐cognalys 注 我为 Cognalys 工作 因为它提供了一个优雅的 API 来验证可以集成在任何平台
  • 验证和数据添加到数据库表

    我之前问过的问题pdo 检索数据并填充记录关于输入掩码现在我需要验证用户输入并将输入的内容添加到数据库表中 这是最后一步 我的错误是 正如您在下面的代码中看到的 我误解了插入 and 更新集 using PDO 此外 就有关INSERT I