PHP PDO简单插入或更新函数

2023-11-23

在尝试创建一个简单的 PHP PDO 更新函数(如果未找到该字段将插入它)时,我创建了这个小片段。

function updateorcreate($table,$name,$value){
    global $sodb;
    $pro = $sodb->prepare("UPDATE `$table` SET value = :value WHERE field = :name");
    if(!$pro){
        $pro = $sodb->prepare("INSERT INTO `$table` (field,value) VALUES (:name,:value)");
    }
    $pro->execute(array(':name'=>$name,':value'=>$value));
}

它不会检测更新功能是否适用于if(!$pro);我们将如何使这一工作发挥作用。


您正在分配$pro到准备语句,而不是执行语句。

话虽如此,如果你使用 mysql,你可以使用insert... on duplicate key update syntax.

insert into $table (field, value) values (:name, :value) on duplicate key update value=:value2

您不能两次使用相同的绑定参数,但可以将两个绑定参数设置为相同的值。

编辑:这个mysql语法将only在存在键(主键或另一个唯一键)的情况下工作,并且会导致插入失败。

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

PHP PDO简单插入或更新函数 的相关文章

  • php laravel Blade 模板不渲染

    我正在尝试使用 Laravel 和 twitter bootstrap 设置一个基本页面 我安装了 Laravel 并获得了通用的 你在这里 或 w e 图像 这样看起来很闪亮 对于 twitter bootstrap 我在 public
  • 展平数组:保持索引、值等于数组中的位置

    我在尝试以特定方式展平数组时遇到了一些麻烦 这里有一个print r我想要展平的数组的视图 Array 1 gt Array 8 gt 1 9 gt 2 10 gt Array 15 gt Array 22 gt 1
  • 在多维数组 PHP 的所有键中搜索

    我想在多维数组中的所有键中搜索特定字符串 我只需要弄清楚它是否存在 仅此而已 我想知道访问者的 IP 是否存在于任何数组中 有没有我可以用来执行此操作的 php 函数或方法 我尝试过的每个函数或方法总是返回 false 数组中 数组搜索 数
  • AWS S3从本地主机批量上传php错误

    我在尝试着批次 散装从本地主机 xampp 上传到我的S3 bucket 它似乎适用于大约 6 个项目 然后我收到一条错误消息 cURL 错误说Failed sending network data from http curl haxx
  • 获取给定日期时间集的每月第一个星期一

    我需要什么 我有一个特定的日期时间列表 我想获取每个日期时间的第一个星期一 例如 假设给定的日期时间是 2013 07 05 2013 08 05 2013 09 13 etc 我想获得所有这些日期时间的第一个星期一 以便输出结果 2013
  • 内连接 3 个表

    我正在使用 PHP 和 PDO 我需要重新收集连接 3 个表的信息 photos albums 相册照片 该表具有以下结构 photos photo id int path varchar nick varchar date timesta
  • PHP-MySQLi 连接随机失败并显示“无法分配请求的地址”

    大约两周以来 我一直在处理 LAMP 堆栈中最奇怪的问题之一 长话短说 与 MySQL 服务器的随机连接失败并显示错误消息 Warning mysqli real connect HY000 2002 Cannot assign reque
  • use 语句顺序会影响 PHP 中的功能吗?

    我使用 PHP 的命名空间已经有一段时间了 我认为它对我的编程来说是一个很好的补充 今天早上我想知道一些关于use陈述 我想知道顺序是否use影响我的 PHP 代码的功能 根据 PHP net 使用别名引用外部完全限定名称或导入的能力是命名
  • 在php中获取大于2GB的文件大小的最佳方法?

    我想检查本地驱动器上的文件大小windows OS 但是PHP原生函数filesize 仅当文件大小小于时才有效2GB 大于的文件2GB将返回错误的数字 那么 是否有其他方法来获取大于的文件大小2GB 非常感谢 您始终可以使用系统的文件大小
  • PHP 电子邮件验证[重复]

    这个问题在这里已经有答案了 For PHP最好的电子邮件验证方法是什么preg NOT ereg因为它是已弃用 删除 I don t需要检查该网站是否存在 这不像最高安全性 我找到了很多方法ereg但它们 显然 不是好的做法 我建议你使用F
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • PHP 中的静态类初始值设定项

    我有一个带有一些静态函数的辅助类 类中的所有函数都需要一个 重 初始化函数来运行一次 就好像它是一个构造函数 有实现这一目标的良好实践吗 我唯一想到的就是打电话init函数 如果它已经运行过一次 使用静态 initialized变种 问题是
  • php隐藏所有错误[重复]

    这个问题在这里已经有答案了 隐藏的最佳做法是什么allPHP 错误 因为我不想向用户显示错误 我尝试过使用 htacess通过输入代码php flag display errors off在那里 但它返回给我一个500 error 还有其他
  • 写入 xml 文件时允许的内存大小已耗尽(尝试分配 4459414 字节)[重复] 67108864 字节

    这个问题在这里已经有答案了 可能的重复 php 中允许的内存大小已耗尽 尝试分配 43148176 字节 33554432 字节 https stackoverflow com questions 415801 allowed memory
  • 错误 #520009 - 帐户受到限制

    我收到 520009 错误 帐户 电子邮件受保护 cdn cgi l email protection被限制 当尝试进行并行付款时 我的代码使用沙箱运行良好 但我切换到实时端点 它开始失败 有问题的帐户是有效的 PayPal 帐户 我使用的
  • 将 Cloudinary 与 spatie/media-library Laravel 包一起使用

    有人使用 Laravel 包 spatie media library 和 Cloudinary 吗 我认为用 Flysystem 来实现它是微不足道的 我实际上使用 Cloudinary 作为带有 silvanite nova field
  • 彩色 var_dump() 和错误

    我怎样才能将样式设置为var dump 功能和PHP错误样式 如下图所示 目前我有下一个观点var dump with pre var dump pre 没有它将全部在一行中 并且只是纯文本的错误 我搜索了一些 PHP 颜色错误 var d
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • WordPress - 类别和子类别的嵌套列表

    我正在尝试显示带有嵌套子类别的 WordPress 类别列表 到目前为止 我只能获取父类别列表或不包括父类别的子类别列表 但我无法将两者连接在一起 这是我想要创建的结果 Parent Category 子类别 子类别 Parent Cate
  • PHP Json_encode 将空格更改为加号 +

    我有一个网络应用程序 我首先将 JSON 数据存储在 cookie 中 然后每 x 秒保存到数据库 它只是打开与服务器的连接 服务器读取 cookie 它实际上并不通过 POST 或 GET 发送任何内容 当我保存到 cookie 时 我的

随机推荐

  • 检测特定 div 及其所有子级之外的点击

    我一直在阅读以下内容 https css tricks com dangers stopping event propagation 我想以适当且安全的方式实施这一点 我想当我点击 div 之外的类时container那console lo
  • Haskell 中如何使用 $ 运算符柯里化函数应用?

    我正在学习 haskell 并且有点困惑函数应用运算符 curry 的用法 根据 GHC 的类型是 Main gt t a gt b gt a gt b 但我可以输入以下代码 Main gt map 2 2 2 2 4 0 4 0 1 0
  • 如何获取 ListItemClick 的值并将其传递给另一个活动

    我有一个 listView 里面有信息 当我单击一行时 它必须为我提供该所选行下的所有详细信息 在该选择行中我有图像 图像名称 价格等 因此 当我单击 listView 中的图像时 它必须填充所有信息 包括下一个活动中的图像 我尝试在我的
  • 如何在 HTML 表单中不传递空输入字段

    我有一个表单 其中包含我们公司每种产品的大约一百个输入 文本字段 该表格将在当天结束时填写 并注明所售出的每种产品的数量 如何让表单只传递相对较小的非空字段子集 我不是在寻找表单验证 用户可以在任何输入字段中输入或不输入值 但是 我只希望输
  • 查找行中特定值的最后一次出现

    我有一张桌子 记录着梦幻足球联赛的比分 得分最低的一周不计入总分 我可以使用以下方法找到最低分 min function min B2 R2 我可以使用以下命令找到第一个实例 match function MATCH S2 B2 R2 0
  • 在 Linux 中使用 Core Dump 检查点/重新启动

    可以使用进程的核心转储来实现检查点 重启吗 核心文件包含进程的完整内存转储 因此理论上应该可以 将进程恢复到转储核心时的相同状态 是的 这是可能的 GNU Emacs 这样做是为了优化其启动时间 它加载一堆 Lisp 文件来生成图像 然后转
  • Typescript 中的 Angular:如何将通用类型传递给函数

    使用 Typescript 编写 Angular 5 单元测试 我有一个函数可以查询 DOM 并返回一个实例MyComponent如果找到类 function getMyComponent hostFixture ComponentFixt
  • 如何设置无限循环并打破它。 (Java 线程)

    我已经设置了一个线程 我想使用循环来运行它 所以这个线程应该在循环中运行并在某个时间中断并再次运行循环 请我不知道如何做到这一点 有人可以指导我吗 Java 有一个内置的机制 可以让线程做某事 然后等待一段时间再做一次 称为Timer 您可
  • 使用java库将.class文件反编译为.java源代码

    我正在开发一个需要将 class文件反编译为源代码的java项目 我发现了很多方法 例如JAD反编译器和 javap p 方法 但我认为这些方法无法完成以编程方式 请告知是否可以 有什么方法可以以编程方式完成此操作 如果您向我展示任何库 我
  • 在 angularjs 和express.js 之间进行下载

    我可以获取我请求的文件的原始数据 但无法让浏览器向用户提供文件 我需要使用 iframe 吗 Client code download file function path callback http post download clien
  • 为什么这是未定义的行为?

    为什么以下给定表达式会调用未定义的行为 int i 5 i i i i 1 我的问题受到Als的影响在这里提问 它不是未定义的 在这里回答C 序列点和偏序 我认为这同样适用于 C 这是我在看到该链接之前的回复 逗号运算符引入了一个序列点 并
  • 使用Python下载并解压文件

    我正在尝试下载并打开压缩文件 但在使用 zipfile 的文件类型句柄时似乎遇到问题 运行此命令时 我收到错误 AttributeError addinfourl 实例没有属性 seek import zipfile import urll
  • jQuery UI:仅允许在其自己的父级别内排序,不能在其上方或下方排序

    基本上使用列表结构 我试图使每个 li 在其自己的级别内可排序 但不能在其他级别内排序 所以如果我拖下去Number 1它不会与任何 sub ul 或 li 混合 但只会在下面Number 2 这就是我到目前为止所拥有的 虽然它确实阻止了
  • 无论索引如何,最后一行始终从 DefaultTableModel 中删除

    当我尝试从 java 中的表中删除行时 我遇到一些问题 特别是 我使用DefaultTableModel 当我尝试删除一行时 使用removeRow int row 方法 最后一行被删除 无论什么row是 例如 假设我们有六行 当 的时候r
  • 在 C 源文件中包含带有命名空间的 C++ 头文件会导致编译错误

    我不是专业的 C 程序员 而且我最近在 C 中做了一些技巧 这导致了我出现以下问题 我的任务目标 复制特定的非系统线程 实际上是协作线程 安全模块以创建系统线程安全版本以支持系统中的不同需求 但我们没有创建 sys XXX 函数来保持兼容性
  • 维基百科 API 是否支持搜索特定模板?

    是否可以在 Wikipedia API 中查询包含特定模板的文章 文档没有描述任何将搜索结果过滤到包含模板的页面的操作 具体来说 我正在寻找包含以下内容的页面Template Persondata 之后 我希望能够检索该特定模板 以便填充族
  • 将字节数组转换为图像 Node.js

    我有一个很长的字节数组 数字从 0 到 255 而且我知道这是一个图像 所以我怎样才能像文件一样保存它 我尝试了很多事情 但都没有成功 图像已创建 但由于已损坏而无法打开 File js function saveImage filenam
  • 无法在旧版本的 JUnit 上运行简单的 JUnit TestCase

    我正在尝试在 JUnit 3 7 版本上运行一个简单的 JUnit 测试用例 我无法将其升级到最新版本 运行 IntelliJ 当我尝试运行 JUnit 测试用例时出现以下异常 Exception in thread main java l
  • Javascript 线程处理和竞争条件

    假设我有如下代码 var shared 100 function workWithIt shared 100 setTimeout workWithIt 500 setTimeout workWithIt 500 理想情况下 这段代码应该向
  • PHP PDO简单插入或更新函数

    在尝试创建一个简单的 PHP PDO 更新函数 如果未找到该字段将插入它 时 我创建了这个小片段 function updateorcreate table name value global sodb pro sodb gt prepar