创建动态 php 插入 mysql 函数?

2024-01-06

我有一篇包含很多变量的帖子,我想知道是否有某种方法可以动态地将信息插入到 mysql 中,而不是手动全部输入,因为帖子变量会根据用户选择的内容而变化。


这就是我们用来做类似事情的方法(插入到我们无法控制的表中,并且没有 API 访问权限)

使用 DESCRIBE 查询可确保仅插入存在的列。

$db = new DB();
$sql = 'DESCRIBE `table`';
$result = $db->query($sql);
$row = array();
$query = array();

while ($row = $result->fetchRow())
{
    if (array_key_exists($row['field'], $form_data))
        if (is_null($form_data[$row['field']]))
            $query[$row['field']] = 'NULL';
        else
            $query[$row['field']] = $db->quote($form_data[$row['field']]);
}

$keys = array_keys($query);

foreach ($keys as &$key)
    $key = $db->quoteIdentifier($key);

unset($key);

$vals = array_values($query);

$sql = 'INSERT INTO `table` '
     . '(' . implode(', ', $keys) . ') '
     . 'VALUES(' . implode(', ', $vals) . ')';

编辑:DB() 是我们对 MDB2 的包装。

当然,这允许他们填充整行。如果您有受限列(自动增量 ID 等),则必须从表单数据中过滤掉这些列...

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

创建动态 php 插入 mysql 函数? 的相关文章

  • 动态调整大小的 boost::asio::buffer

    我正在阅读boost asio ip udp socket像这样 using boost asio ip udp char recv buf 128 udp endpoint sender endpoint size t len socke
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • 如何通过Elasticsearch模糊匹配电子邮件或电话?

    我想通过 Elasticsearch 对电子邮件或电话进行模糊匹配 例如 匹配所有以以下结尾的电子邮件 gmail com or 匹配所有电话开头136 我知道我可以使用通配符 query wildcard email gmail com
  • Apache 访问 Linux 中的 NTFS 链接文件夹

    在 Debian jessie 中使用 Apache2 PHP 当我想在 Apache 的文档文件夹 var www 中创建一个新的小节时 我只需创建一个指向我的 php 文件所在的外部文件夹的链接 然后只需更改该文件夹的所有者和权限文件夹
  • 将“php”作为 shell 脚本执行时的自定义 php.ini 文件

    我在跑php作为 shell 脚本 我不确定 shell脚本 是否正确 该文件以 usr bin php 这很好用 但 MongoDB 类没有正确加载php ini文件 具有extension mongo so 未使用 我该如何使用它tha
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 如何在原则 2 迁移中删除外键

    我想在原则 2 迁移中删除外键 但没有 dropForeignKeyConstraint 有谁知道怎么丢掉吗 public function down Schema schema table schema gt getTable table
  • mysql自动存储记录创建时间戳

    mysql 有什么方法可以在创建记录时自动将时间戳存储在记录行中 我试图使用时间戳 数据类型 和 current timestamp 作为默认值 但后来意识到每次更新记录时都会更新 我只需要一些可以存储创建时间戳的东西 Thanks Set
  • 学说迁移后备

    我们正在使用原则迁移 当迁移包含多个操作并且其中一个操作失败时 通常会出现问题 例如 如果迁移添加了 5 个外键 其中第 5 个失败 而字段长度不同 则修复字段错误并重新生成迁移不会not修复整个问题 而现在出现一个与 4 个密钥已存在有关
  • PHP 脚本可以在终端中运行,但不能在浏览器中运行

    我正在尝试执行exec命令 但我遇到了问题 当我运行以下代码时 当我通过浏览器运行它时它不起作用 但如果我把输出 str将其复制并粘贴到终端中 它工作得很好 造成这种情况的原因是什么 我该如何解决 目前我正在运行localhost php
  • 随机组合 MySQL 数据库中的两个单词

    我有一个包含名词和形容词的数据库 例如 id type word 1 noun apple 2 noun ball 3 adj clammy 4 noun keyboard 5 adj bloody ect 我想创建一个查询 它将抓取 10
  • 覆盖控制器 Symfony 3.4/4.0

    我目前正在尝试覆盖 FOSUserBundle 中的控制器 在新的文档中 https symfony com doc 3 4 bundles override html https symfony com doc 3 4 bundles o
  • 通过 $_SESSION 从一个脚本发送到另一个脚本期间数据丢失

    我正在尝试将一个充满属性的对象从一个 PHP 发送到另一个 PHP SESSION object obj where obj是一个用 foreach 循环指定的对象 foreach array of objects as obj SESSI
  • 快速将列的副本添加到 MySQL 表

    我需要一种快速的方法来复制表中的 DATETIME 列并为其指定一个新名称 我的表中有一个名为 myDate 的列 名为 myResults 我需要一个查询来在名为 newDate 的表中创建一个新列 该列的数据与 myDate 列完全相同
  • jQuery Mobile 表单验证

    我有一个移动网站 除了验证之外一切都工作正常 基本上我希望从用户那里获取值 然后在单独的页面 process php 上处理它们 但是 在这样做之前 我需要检查以确保字段已填充 我已经研究了几种方法来做到这一点 但似乎没有一种有效 我现在有
  • 表单提交后如何保留选择字段中的选定值?

    我有一个用于将票证上传到数据库的主页 我有一个选择字段 我想保留用户在提交表单之前选择的值 但它没有发生 这是我选择字段的代码
  • ini_set 'session.gc_maxlifetime' 为 1 天

    If I do ini set session gc maxlifetime 86400 这是否意味着用户可以将浏览器留在同一页面 非活动状态 最多 1 天 而不必担心会话被垃圾收集并被注销 如果服务器配置不支持此功能会发生什么 它会给我一
  • Magento - 自定义支付模块

    这是一个非常普遍的问题 但这里是 我正在尝试在 Magento 中创建一个自定义支付模块 我创建了一个 常规 模块 可以连接到 Magento 事件 观察者模型 但是我如何告诉 Magento 将模块视为支付模块 以便它显示在管理后端和结账
  • 简单的 PHP 表单:电子邮件附件(代码 Golf)

    想象一下 一个用户想要在其网站上放置一个表单 该表单将允许网站访问者上传一个文件和一条简单的消息 该消息将立即通过电子邮件发送 即 该文件未存储在服务器上 或者如果该文件存储在服务器上 仅暂时 作为文件附件 并在邮件正文中添加注释 查看更多
  • 对具有混合类型值的数组进行数字排序

    我有一个像这样的混合数组 fruits array lemon Lemon 20 banana apple 121 40 50 然后申请sort 其功能如下 sort fruits SORT NUMERIC foreach fruits a

随机推荐

  • 如何使用返回类型 ActionResult 对操作进行单元测试?

    我的问题与这个非常相似 当返回类型为 ActionResult 时 如何对操作进行单元测试 https stackoverflow com q 18865257 419956 问题是我的问题混合在generic ActionResult
  • 如何使用jquery选择表中的一行?

    我在我的应用程序中创建了一个表格 我想在单击复选框时选择 更改背景颜色 整行 就像 gmail 所做的那样 当我们单击 gmail 中的复选框时 整行变为黄色 table tbody tr td td tr tbody table
  • 对“gluOrtho2D”的未定义引用[重复]

    这个问题在这里已经有答案了 http programanddesign com cpp qt opengl code example http programanddesign com cpp qt opengl code example
  • 正则表达式如何匹配 2 个字段

    如何捕获引号内的文件名以及后面的数字作为命名捕获 正则表达式 C Files fileone txt 5969784 file2 txt 45345333 在字符串中的每次出现中 能够捕获 fileone txt 和后面的整数 循环循环每对
  • 为什么 gevent.spawn 在调用 Greenlet.join 之前不执行参数化函数?

    我想使用发出异步 HTTP POST 请求gevent 我不关心响应 我只想尽快执行请求 但是 每当我尝试使用gevent spawn 请求永远不会执行 我知道这一点是因为调用 ready or successful 上的方法Greenle
  • 模态窗口和对话窗口有什么区别?

    这个问题准确地描述了我想知道的内容 模态窗口和对话有什么区别 当模式窗口变成对话时 反之亦然 我该如何实现这两个目标 非常感谢朝正确方向的推动 模态窗口是在应用程序之上运行的窗口 因此在关闭模态窗口之前您无法对应用程序执行任何操作 jQue
  • Laravel - 将 PHP 资源传递给 Storage::put

    Laravel 文档 https laravel com docs 5 2 filesystem storing files https laravel com docs 5 2 filesystem storing files 说明这一点
  • Swift 中两个弱变量相互引用?

    今天我再次尝试理解 Swift 中的保留循环和弱引用 阅读通过文档 https developer apple com library ios documentation Swift Conceptual Swift Programming
  • 可视化解决方案资源管理器中的实际文件夹?

    MS Visual Studio 有解决方案资源管理器 我可以在其中查看所有项目文件 我还可以创建类似于文件文件夹的过滤器 以将它们分组 问题是 我希望我的文件在磁盘上的视觉和物理上分组 但我不想在视觉和磁盘上应用每个更改两次 有没有什么方
  • Go中的PostgreSQL列表参数(使用数据库/SQL和pq)

    我正在尝试编写一个采用列表参数 即作为值列表的单个参数 的查询 看来这在 PostgreSQL 中至少有时是可能的 https stackoverflow com a 10829760 836390 https stackoverflow
  • Swing 组件何时“可显示”?

    有没有办法 例如 通过事件 来确定 Swing 组件何时变为 可显示 根据 JavadocsComponent getGraphics http java sun com j2se 1 5 0 docs api java awt Compo
  • HttpClient - 处理聚合异常

    您好 我正在使用与此类似的 HttpClient public static Task
  • github 上的 Teamcity 构建徽章

    我想在我的 github 页面上添加 teamcity 构建徽章 我的存储库是私有 github 存储库 我首先将下面的代码包含为link https blog jetbrains com teamcity 2012 07 teamcity
  • 定义实体框架 1:1 关联

    我试图在实体框架模型中定义两个实体之间的 1 1 关联 一个映射到表 另一个映射到视图 使用 DefinedQuery 当尝试在设计器中定义映射时 它让我选择 1 表或视图来映射关联 我应该选择什么 我可以选择两个表中的任何一个 但随后我被
  • 更新 Ruby on Rails 控制器中的参数

    我有一个控制器 我想在更新之前更新其中一个参数的值 以便在同一个保存到数据库的操作中进行更新 不幸的是 下面的代码没有设置z在数据库中 if model x YES model z blank model params z Time now
  • 如何在Eclipse的“运行配置”中设置“主类”

    在一个Java项目中 有两个java文件都有main方法 这两个java文件的绝对路径是 C Desktop project1 src com pre moveposition1 java And C Desktop project1 sr
  • TypeError:TextIOWrapper 类型的对象不可 JSON 序列化

    如果代码正常工作 那么每当有人在聊天中输入内容时 他们都会获得 5 经验 并且该信息会被放入 json文件 但发生的情况是每当有人在聊天中输入内容时就会出现此错误 on message users json dumps f TypeErro
  • Visual Studio Code 语言扩展继承现有的

    在 Visual Studio Code 中 只需提供语法文件即可添加自己的语言扩展 例如通过 JSON 我想为我使用的特定脚本语言提供语法文件 脚本语言嵌入在 ARM 汇编源代码中 并且已经存在一个插件 所以我基本上想通过我的脚本语言来扩
  • Log4j 1:如何在不更新版本到2.15.0的情况下缓解Log4j中的漏洞

    我正在使用 Log4j 1 2 16 我将其与 Maven 一起使用Selenium https en wikipedia org wiki Selenium 28software 29测试Java项目 我正在寻找一种无需升级Log4j版本
  • 创建动态 php 插入 mysql 函数?

    我有一篇包含很多变量的帖子 我想知道是否有某种方法可以动态地将信息插入到 mysql 中 而不是手动全部输入 因为帖子变量会根据用户选择的内容而变化 这就是我们用来做类似事情的方法 插入到我们无法控制的表中 并且没有 API 访问权限 使用