使用 WordPress $wpdb 将数据插入 WordPress 数据库中的表中

2024-02-12

我正在开始插件开发,并已按照 WordPress Codex 网站上的教程进行操作。我现在陷入困境 - 我有一个名为“wp_imlisteningto”的数据库,其中wp_插入使用:

$table_name = $wpdb->prefix . "imlisteningto";

当插件被激活时。

数据库本身有三列,在激活插件时设置:

$sql = "CREATE TABLE $table_name (
id mediumint(9) AUTO_INCREMENT,
album VARCHAR(50),
artist VARCHAR(50),
PRIMARY  KEY (id)
);";

我正在尝试从 php 表单将数据(通过创建新行)插入到该数据库中。

在 WordPress 管理员中,我创建了一个新页面,其形式非常简单:

<form action="/wp-content/plugins/listeningto/formhtml.php" method="post">
Album: <input type="text" name="album" />
Artist: <input type="text" name="artist" />
<input type="submit">
</form>

正如你所看到的那样formhtml.php,即:

<?php
global $wpdb;

$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ), array( '$s', '$s' ) );
?>

当我提交表格时,我会得到一个Error 500.0在 WordPress 中运行插件时IIS7.0, and a "Page Not Found"当在另一个运行的 Web 服务器上运行时apache.

如果我改变formhtml.php to:

<?php

echo $_POST['album'];
echo $_POST['artist'];

?>

工作正常 - 我得到了我在表格中输入的专辑和艺术家。显然,当我将数据(在新行中)插入数据库时​​我做错了。

有什么想法吗?

UPDATE

好的,如果我更新formhtml.php有了这个:

<?php
require_once('../../../wp-config.php');
$table_name = $wpdb->prefix . "imlisteningto";
$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ), array( '$s', '$s' ) );
?>

我不再收到错误消息,但数据仍然没有放入数据库。

UPDATE 2

这对我有用:

<?php
require_once('../../../wp-config.php');
global $wpdb;
$table_name = $wpdb->prefix . "imlisteningto";
$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ) );
?>

就像这样:

<?php
require_once('../../../wp-load.php');
global $wpdb;
$table_name = $wpdb->prefix . "imlisteningto";
$wpdb->insert( $table_name, array( 'album' => $_POST['album'], 'artist' => $_POST['artist'] ) );
?>

所以,出于某种原因$wpdb除非我需要,否则无法工作wp-config or wp-load.php。如果包括wp-load.php, $wpdb得到价值观,一切都好。


包括

require_once('../../../wp-config.php');

为我工作

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

使用 WordPress $wpdb 将数据插入 WordPress 数据库中的表中 的相关文章

  • Laravel 4,->withInput(); = 未定义的偏移量:0

    我在这里和 Laravel 论坛上进行了长时间的搜索 但我找不到这个问题的答案 gt withInput 咳出Undefined offset 0 对于上下文 控制器 public function getJobs position opt
  • php:验证 POST 的最佳方法

    我一直在使用下面的代码来验证 POST 的用户输入 if isset POST name empty POST name n POST name else errors Please give a name 这段代码检查是否确实设置了 na
  • PHP - 将数据从一个站点安全地传递到另一个站点

    我有一个可以接受来自多个站点的请求的站点 有点像升级检查 这些网站将发送用户名 密码 应用程序版本等信息 然后我的网站将根据这些信息发送响应 基本上这是一个 GET请求 例如 http www mysite com user boo pas
  • 在 Yii2 中从数据库中多态查找模型

    我在数据库 mysql 中有一张表 但该表存储了几种略有不同类型的行 类型取决于此表的type柱子 我有一个表的抽象 ActiveRecord 类和几个后代子类 它们为不同类型的同一表的行实现略有不同的逻辑 现在我正在为所有类型的行实现更新
  • PHP Laravel 路由问题

    我的设置目前看起来像这样 应用程序 控制器 register php class register Controller extends Base Controller public restful true public function
  • 用于自定义短代码的 Visual Composer 自定义标记 (vc_map)

    试图得到自定义标记使用 WordPress 的 Visual Composer 构建器 Found Visual Composer 更改自定义短代码模板 https stackoverflow com questions 24073053
  • Rails 3:f.select - options_for_select

    我的 Ruby on Rails 应用程序上有一个带有下拉菜单的表单 这是我当前的选择选项代码 根据我的理解 当有人打开页面时 这应该将 选择一个 作为默认选项 但如果他们不选择其他选项之一 那么当他们点击提交时会显示错误 在 Safari
  • 在应用程序上按下类似按钮时自动刷新时间线页面?

    在时间轴发布到页面上之前 当用户在页面上按下 点赞 按钮时 页面会自行刷新 现在 启用时间线后 如果您访问应用程序并按右上角的类似按钮 页面不会自行刷新 并且应用程序不会识别用户 喜欢 该页面 当用户按下 喜欢 按钮时 是否有一种方法或事件
  • Django - 使用多种表单

    我想做的是在一个页面中管理多个表单 我知道有表单集 并且我知道表单管理是如何工作的 但是我的想法存在一些问题 只是为了帮助您想象我的问题是什么 我将使用 django 示例模型 from django db import models cl
  • 在 html 中显示表单时使用 table 标签是不是不好的设计?

    我一直听到这样的话div标签应该用于布局目的 而不是table标签 那么这也适用于表单布局吗 我知道表单布局仍然是一个布局 但似乎使用以下命令创建表单布局divs 需要更多html and css 因此 考虑到这一点 表单布局应该使用div
  • 仅使用 HTML 正确填充电子邮件

    对于作业 我需要放置一个form在我的网页中 并让表单填充一封电子邮件供用户发送 我在四处搜寻后写下了这个
  • 如何使用 MySQL 和 PHP 在数据库中存储标签?

    我想创建一个数据库来存储用户为其问题输入的标签 然后为发布的每个单独问题显示所有标签 像这里这样的东西 这是现在为我做所有事情的表 CREATE TABLE questions tags id INT UNSIGNED NOT NULL A
  • PHP json_encode 反斜杠和数组名称的问题

    我正在将一些 postgresql 数据转换为 PHP json encode 但我遇到了一些问题 json encode 将 BackSlash 添加到我的数据中的所有斜杠中 在描述中出现段落标记的结束 我认为是因为反斜杠问题 我不希望我
  • K2_内容模块评级

    我一直在category item php 中重建标准K2 评级 以查看评级从显示为星星到显示为数字 我所做的是 我替换了这段代码 div div class itemRatingForm ul class itemRatingList l
  • 无法使用 PHP mail() 发送电子邮件。您的服务器可能未配置为使用此方法发送邮件

    我尝试使用 codeigniter 框架发送邮件 但它会引发错误 无法使用 PHP mail 发送电子邮件 您的服务器可能未配置为使用此方法发送邮件 From prakash t lt email protected cdn cgi l e
  • 使用 google 检查 url,安全 = 活动

    如何检查 url 是否被 google 显示 Example https www google com search q redtubex xxx safe active Code input http www example com in
  • PHP runkit_function_rename 不起作用?

    这段代码不起作用 为什么不 我真正想要的是这个 我正在使用一个具有功能的系统 当我在本地主机上时 我希望该函数做一些不同的事情 我想用自己的东西覆盖该函数 也欢迎所有替代方案 您是否安装了 PECL 扩展 http www php net
  • 如何将输入字段值作为 URL 查询字符串传递,单击提交按钮将打开该字符串?

    我必须输入这样的字段
  • PDF:在现有 PDF 文件中插入一行文本

    我有一个 PDF 文件 我希望在所有页面 前两页除外 的页脚上添加一行纯文本 不是徽标或类似内容 有谁有一个如何做到这一点的例子 用任何语言 Update 原始 PDF 是用 Scribus 制作的 我可以完全控制它 因此 如果更容易进行查
  • 如何开始 Zend Framework 开发

    Hai 首先谢谢 我下载了 Zend 框架 C wamp zend 我将 php ini 的包含路径更改为 C wamp zend 我在我的 php 信息中看到了这个 我认为包含路径是正确的 我仍然有很多疑问 我从哪里开始在 zend 框架

随机推荐

  • 如何使用 pyautogui 处理图像

    我想知道是否可以这样做pyautogui locateOnScreen 对于完整的文件夹 我的意思是一个包含 20 个不同图像的文件夹 并在屏幕上找到它们 是否可以做pyautogui 否则你会怎么做 到目前为止 这是我的代码 from p
  • 让 git 阻止修改推送的提交

    是否可以让 git 检查远程分支prepare commit msg挂钩并查看当前提交是否是修改 如果是 则中止提交 这样可以确保您无法修改已经推送的提交 这会很方便 没有办法阻止某人做git commit amend在他们自己的机器上 但
  • qtconsole 不将 pandas 数据帧渲染为 html notebook_repr_html 选项

    我最近升级了 pandas 的版本 我现在安装了最新的稳定版本 pd version Out 5 0 10 1 在此升级之前 这就是数据帧在 qtconsole shell 中显示的方式 这不是我的屏幕截图 只是我在网上找到的屏幕截图 最新
  • 如何恢复 Android 应用程序的默认区域设置

    我有这个 Android 应用程序 已本地化为多种语言 如果存在适合设备区域设置的字符串 应用程序会自动显示它 到目前为止 一切都很好 接下来 我想允许应用程序的用户切换到我提供的其中一种语言 我可以通过覆盖默认区域设置来做到这一点 这里也
  • 如何知道 Xcode 中是否触摸了 .png 的唯一可见区域

    我已将 png 图像导入到UIImageView在 Xcode 中 我想要做的是当触摸图像时 它将被隐藏 但我的问题是 png 图像包含透明部分 当我触摸透明部分时 动作会继续 我希望仅当图像的可见部分被触摸时动作才继续 如何解决问题 Sw
  • 在 CSP 中不使用“unsafe-eval”的 Vuejs 浏览器扩展

    我使用 Vuejs 构建了一个浏览器插件 并使用 Laravel Mix 作为我的构建过程 我的所有 vue 模板都在单个文件组件中 一切都工作得很好 直到我从插件清单中的 CSP 中删除 unsafe eval 火狐浏览器显示错误 Con
  • 从 Lua 中的(最简单的)函数直接返回表条目

    我想编写最简单的函数 让我在无名表中返回所需的值 并且 ideally 它应该是这样的 function RL MyTool Version n return 0 4 0 20221003 0230 13 5 5 n end 但是 当然 这
  • 在 HTML/CSS 中创建列的最佳方法

    我正在寻找一种显示 3 列内容的方法 我找到了一种显示环绕列的方法 但我不希望在该页面上使用这种方法 我正在寻找一种方式来表达
  • 导入错误:Mac 上没有名为 lxml 的模块

    我在运行 Python 脚本时遇到问题 它显示以下消息 ImportError No module named lxml 我想我必须安装一些名为 lxml 的东西 但我确实是 Python 的新手 对此我并没有太多的想法 根据我在其他线程中
  • PHP 中的自动加载器 - 一次运行两个

    我了解如何注册自动加载器 甚至如何创建自动加载器 这根本不是问题 主要问题是 如何让两个自动装载机并排运行以执行以下操作 class project one folder class extends project two folder c
  • 如何在 Java 中播放声音?

    我希望能够在我的程序中播放声音文件 我应该去哪里看 我编写了以下代码 效果很好 但我认为它只适用于 wav format public static synchronized void playSound final String url
  • OpenSSL 中 PEM 格式的默认密码是什么?

    我使用 openssl 生成密钥 证书 openssl exe req x509 days 1000 newkey rsa 1024 keyout key pem out cert pem 它提示输入密码 我猜测密码是用于密钥加密的 但是我
  • ALV网格只加载前64行,如何更改默认加载

    情况 我已经为 SAP GUI 脚本创建了一个查找功能 如果网格行在特定列中具有特定值 则双击它 这会触发加载特定的相关数据 我的网格少于 300 行 因此加载如此多的数据不会对现代计算机造成压力 Issue 我遇到的问题是 从 SAPGr
  • 从模板中的 django 表单中仅获取一个字段

    我有一种形式 class FormLogin forms Form email forms EmailField max length 150 name forms CharField max length 20 如何在模板中仅添加电子邮件
  • 注册的elephantbird仍然显示错误2998

    grunt gt register home piyush Desktop pro json simple 1 1 1 jar grunt gt register home piyush Desktop pro elephant bird
  • Netlogo中有NOOP吗?

    我正在寻找一种在 netlogo 中什么也不做的方法 在其他编程语言中 这称为无操作方法 有没有办法可以在 netlogo 中做到这一点 您可以非常轻松地编写自己的无操作过程 to no op end usage to go no op e
  • 将画布原点设置为左下角

    有没有办法将原点设置为画布的左下角 我尝试按 1 缩放 但之后一切都颠倒了 我需要制作类似坐标系的东西 但只有正部分 第一象限 所以我需要它从左下角的 0 0 开始 ctx translate 0 canvas height ctx sca
  • 任何仅忽略“连接由对等方重置”IOExceptions 的方法

    由于网络问题 我对来自套接字读取调用的大量 IOException 感到非常恼火 通常 这仅意味着有人杀死了子进程或网络严重故障 VPN 连接断开等 我的服务器无法执行任何操作 但我真的不想在日志文件中看到所有这些错误 java中有没有办法
  • 为什么张量流分类器在移动设备上的准确度低于笔记本电脑

    我使用 2 个 googleCodelabs 重新训练了自定义张量流模型 其链接如下 诗人 1 的 Tensorflow https codelabs developers google com codelabs tensorflow fo
  • 使用 WordPress $wpdb 将数据插入 WordPress 数据库中的表中

    我正在开始插件开发 并已按照 WordPress Codex 网站上的教程进行操作 我现在陷入困境 我有一个名为 wp imlisteningto 的数据库 其中wp 插入使用 table name wpdb gt prefix imlis